diff options
| author | tza <marios8543@gmail.com> | 2022-04-13 23:50:26 +0300 |
|---|---|---|
| committer | tza <marios8543@gmail.com> | 2022-04-13 23:50:26 +0300 |
| commit | 6694d5ab714cd27c88d51e2561a898718f2e8e69 (patch) | |
| tree | b8139d8aa4200e2c561edc7badb22bc4c0715f1a | |
| parent | c084abecfc039fd5bdfcb08d7b56c66ddb10839e (diff) | |
| download | decky-loader-6694d5ab714cd27c88d51e2561a898718f2e8e69.tar.gz decky-loader-6694d5ab714cd27c88d51e2561a898718f2e8e69.zip | |
fixed passive plugin reload bug and close event loop properly
| -rw-r--r-- | plugin_loader/loader.py | 2 | ||||
| -rw-r--r-- | plugin_loader/plugin.py | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/plugin_loader/loader.py b/plugin_loader/loader.py index 74c99442..ae609301 100644 --- a/plugin_loader/loader.py +++ b/plugin_loader/loader.py @@ -31,8 +31,6 @@ class FileChangeHandler(FileSystemEventHandler): rel_path = path.relpath(src_path, path.commonprefix([self.plugin_path, src_path])) plugin_dir = path.split(rel_path)[0] main_file_path = path.join(self.plugin_path, plugin_dir, "main.py") - if not path.isfile(main_file_path): - return self.loader.import_plugin(main_file_path, plugin_dir, refresh=True) def on_modified(self, event): diff --git a/plugin_loader/plugin.py b/plugin_loader/plugin.py index 04feeb27..033d36fc 100644 --- a/plugin_loader/plugin.py +++ b/plugin_loader/plugin.py @@ -45,7 +45,9 @@ class PluginWrapper: while True: data = loads((await reader.readline()).decode("utf-8")) if "stop" in data: - return get_event_loop().stop() + get_event_loop().stop() + get_event_loop().close() + return d = {"res": None, "success": True} try: d["res"] = await getattr(self.Plugin, data["method"])(self.Plugin, **data["args"]) @@ -82,6 +84,7 @@ class PluginWrapper: await self._open_socket_if_not_exists() self.writer.write((dumps({"stop": True})+"\n").encode("utf-8")) await self.writer.drain() + self.writer.close() loop.create_task(_(self)) async def execute_method(self, method_name, kwargs): |
