Revert "Version 2.3.4"

This reverts commit 7b6cfa2b58.
This commit is contained in:
Jeroen Oudshoorn
2023-09-08 20:26:24 +02:00
parent d24cc0b82f
commit b8cc11eff8
4 changed files with 27 additions and 28 deletions

View File

@ -1 +1 @@
__version__ = '2.3.4'
__version__ = '2.3.3'

View File

@ -51,13 +51,13 @@ class Client(object):
logging.debug("Error while parsing event (%s)", ex)
except websockets.exceptions.ConnectionClosedError:
logging.debug("Lost websocket connection. Reconnecting...")
await asyncio.sleep(1) # Sleep for x seconds before reconnecting
await asyncio.sleep(1) # Sleep for 5 seconds before reconnecting
except websockets.exceptions.WebSocketException as wex:
logging.debug("Websocket exception (%s)", wex)
await asyncio.sleep(1) # Sleep for x seconds before reconnecting
await asyncio.sleep(1) # Sleep for 5 seconds before reconnecting
except Exception as e:
logging.exception("Other error while opening websocket (%s) with parameter %s", e, s)
await asyncio.sleep(1) # Sleep for x seconds before reconnecting
await asyncio.sleep(1) # Sleep for 5 seconds before reconnecting
def run(self, command, verbose_errors=True):
for _ in range(0, 2):

View File

@ -13,7 +13,6 @@ locks = {}
THREAD_POOL_SIZE = 10
executor = ThreadPoolExecutor(max_workers=THREAD_POOL_SIZE)
class Plugin:
@classmethod
def __init_subclass__(cls, **kwargs):
@ -31,7 +30,6 @@ class Plugin:
if cb is not None and callable(cb):
locks["%s::%s" % (plugin_name, attr_name)] = threading.Lock()
def toggle_plugin(name, enable=True):
"""
Load or unload a plugin
@ -70,12 +68,10 @@ def toggle_plugin(name, enable=True):
return False
def on(event_name, *args, **kwargs):
for plugin_name in loaded.keys():
one(plugin_name, event_name, *args, **kwargs)
def locked_cb(lock_name, cb, *args, **kwargs):
global locks
@ -85,24 +81,21 @@ def locked_cb(lock_name, cb, *args, **kwargs):
with locks[lock_name]:
cb(*args, *kwargs)
def one(plugin_name, event_name, *args, **kwargs):
global loaded
if not executor._shutdown:
if plugin_name in loaded:
plugin = loaded[plugin_name]
cb_name = 'on_%s' % event_name
callback = getattr(plugin, cb_name, None)
if callback is not None and callable(callback):
try:
lock_name = "%s::%s" % (plugin_name, cb_name)
locked_cb_args = (lock_name, callback, *args, *kwargs)
executor.submit(locked_cb, *locked_cb_args)
except Exception as e:
logging.error("error while running %s.%s : %s" % (plugin_name, cb_name, e))
logging.error(e, exc_info=True)
else:
logging.warning("Executor is shut down. Cannot schedule new futures.")
if plugin_name in loaded:
plugin = loaded[plugin_name]
cb_name = 'on_%s' % event_name
callback = getattr(plugin, cb_name, None)
if callback is not None and callable(callback):
try:
lock_name = "%s::%s" % (plugin_name, cb_name)
locked_cb_args = (lock_name, callback, *args, *kwargs)
executor.submit(locked_cb, *locked_cb_args)
except Exception as e:
logging.error("error while running %s.%s : %s" % (plugin_name, cb_name, e))
logging.error(e, exc_info=True)
def load_from_file(filename):
logging.debug("loading %s" % filename)
@ -127,7 +120,6 @@ def load_from_path(path, enabled=()):
return loaded
def load(config):
enabled = [name for name, options in config['main']['plugins'].items() if
'enabled' in options and options['enabled']]