summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAAGaming <aa@mail.catvibers.me>2022-07-21 22:02:13 -0400
committerAAGaming <aa@mail.catvibers.me>2022-07-21 22:02:13 -0400
commit20f43b2fd4505b3d5b32d2d3f345a99a302b2b56 (patch)
tree71f32ff1289a8e48ba27c674afe28200d4ecfd65
parente6dd1c29d8ca85525c8efd0b84b98fd949b934d4 (diff)
downloaddecky-loader-20f43b2fd4505b3d5b32d2d3f345a99a302b2b56.tar.gz
decky-loader-20f43b2fd4505b3d5b32d2d3f345a99a302b2b56.zip
fix plugin uninstalling
-rw-r--r--backend/browser.py16
-rw-r--r--frontend/src/components/settings/pages/plugin_list/index.tsx2
-rw-r--r--frontend/src/plugin-loader.tsx2
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 () => {