diff options
| author | AAGaming <aa@mail.catvibers.me> | 2022-07-21 22:02:13 -0400 |
|---|---|---|
| committer | AAGaming <aa@mail.catvibers.me> | 2022-07-21 22:02:13 -0400 |
| commit | 20f43b2fd4505b3d5b32d2d3f345a99a302b2b56 (patch) | |
| tree | 71f32ff1289a8e48ba27c674afe28200d4ecfd65 | |
| parent | e6dd1c29d8ca85525c8efd0b84b98fd949b934d4 (diff) | |
| download | decky-loader-20f43b2fd4505b3d5b32d2d3f345a99a302b2b56.tar.gz decky-loader-20f43b2fd4505b3d5b32d2d3f345a99a302b2b56.zip | |
fix plugin uninstalling
| -rw-r--r-- | backend/browser.py | 16 | ||||
| -rw-r--r-- | frontend/src/components/settings/pages/plugin_list/index.tsx | 2 | ||||
| -rw-r--r-- | frontend/src/plugin-loader.tsx | 2 |
3 files changed, 12 insertions, 8 deletions
diff --git a/backend/browser.py b/backend/browser.py index df0c478c..e4af503e 100644 --- a/backend/browser.py +++ b/backend/browser.py @@ -45,20 +45,24 @@ class PluginBrowser: def find_plugin_folder(self, name): for folder in listdir(self.plugin_path): - with open(path.join(self.plugin_path, folder, 'plugin.json'), 'r') as f: - plugin = json.load(f) + try: + with open(path.join(self.plugin_path, folder, 'plugin.json'), 'r') as f: + plugin = json.load(f) - if plugin['name'] == name: - return path.join(self.plugin_path, folder) + if plugin['name'] == name: + return path.join(self.plugin_path, folder) + except: + self.log.info("skipping " + folder) async def uninstall_plugin(self, name): tab = await get_tab("SP") - await tab.open_websocket() try: if type(name) != str: data = await name.post() - name = data.get("name") + name = data.get("name", "undefined") + self.log.info("uninstalling " + name) + self.log.info(" at dir " + self.find_plugin_folder(name)) await tab.evaluate_js(f"DeckyPluginLoader.unloadPlugin('{name}')") rmtree(self.find_plugin_folder(name)) except FileNotFoundError: diff --git a/frontend/src/components/settings/pages/plugin_list/index.tsx b/frontend/src/components/settings/pages/plugin_list/index.tsx index a554236a..2d77503f 100644 --- a/frontend/src/components/settings/pages/plugin_list/index.tsx +++ b/frontend/src/components/settings/pages/plugin_list/index.tsx @@ -22,7 +22,7 @@ export default function PluginList() { <div className={staticClasses.Title} style={{ marginLeft: 'auto', boxShadow: 'none' }}> <DialogButton style={{ height: '40px', width: '40px', padding: '10px 12px' }} - onClick={() => window.DeckyPluginLoader.uninstall_plugin(name)} + onClick={() => window.DeckyPluginLoader.uninstallPlugin(name)} > <FaTrash /> </DialogButton> diff --git a/frontend/src/plugin-loader.tsx b/frontend/src/plugin-loader.tsx index dafea2a8..02febcdb 100644 --- a/frontend/src/plugin-loader.tsx +++ b/frontend/src/plugin-loader.tsx @@ -75,7 +75,7 @@ class PluginLoader extends Logger { ); } - public uninstall_plugin(name: string) { + public uninstallPlugin(name: string) { showModal( <ModalRoot onOK={async () => { |
