summaryrefslogtreecommitdiff
path: root/backend/browser.py
diff options
context:
space:
mode:
authorWeblate <noreply@weblate.org>2023-06-08 14:40:08 +0000
committerWeblate <noreply@weblate.org>2023-06-08 14:40:08 +0000
commit89bbbf6fe4348236f9828a39ddc8f1790cb2f2f4 (patch)
treec175788ffc6917a66db810eb14073c57b750efb3 /backend/browser.py
parentfdc556edeed416843f3e4b9d5c1a9e163dc72d89 (diff)
parent9a05c228a004392df6921a7706f4ae6a62fff2d3 (diff)
downloaddecky-loader-89bbbf6fe4348236f9828a39ddc8f1790cb2f2f4.tar.gz
decky-loader-89bbbf6fe4348236f9828a39ddc8f1790cb2f2f4.zip
Merge remote-tracking branch 'origin/main'
Diffstat (limited to 'backend/browser.py')
-rw-r--r--backend/browser.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/backend/browser.py b/backend/browser.py
index 388a01e3..ab71a89d 100644
--- a/backend/browser.py
+++ b/backend/browser.py
@@ -122,10 +122,7 @@ class PluginBrowser:
logger.debug("Plugin %s was stopped", name)
del self.plugins[name]
logger.debug("Plugin %s was removed from the dictionary", name)
- current_plugin_order = self.settings.getSetting("pluginOrder")
- current_plugin_order.remove(name)
- self.settings.setSetting("pluginOrder", current_plugin_order)
- logger.debug("Plugin %s was removed from the pluginOrder setting", name)
+ self.cleanup_plugin_settings(name)
logger.debug("removing files %s" % str(name))
rmtree(plugin_dir)
except FileNotFoundError:
@@ -234,3 +231,18 @@ class PluginBrowser:
def cancel_plugin_install(self, request_id):
self.install_requests.pop(request_id)
+
+ def cleanup_plugin_settings(self, name):
+ """Removes any settings related to a plugin. Propably called when a plugin is uninstalled.
+
+ Args:
+ name (string): The name of the plugin
+ """
+ hidden_plugins = self.settings.getSetting("hiddenPlugins", [])
+ hidden_plugins.remove(name)
+ self.settings.setSetting("hiddenPlugins", hidden_plugins)
+
+ plugin_order = self.settings.getSetting("pluginOrder")
+ plugin_order.remove(name)
+ self.settings.setSetting("pluginOrder", plugin_order)
+ logger.debug("Removed any settings for plugin %s", name)