mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-07-09 23:41:58 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c95484ccb | |||
| 8d2b252e6d |
@@ -157,8 +157,16 @@ class PluginBrowser:
|
||||
# Will be set later in code
|
||||
res_zip = None
|
||||
|
||||
# Check if plugin is installed
|
||||
# Check if plugin was already installed before this
|
||||
isInstalled = False
|
||||
|
||||
try:
|
||||
pluginFolderPath = self.find_plugin_folder(name)
|
||||
if pluginFolderPath:
|
||||
isInstalled = True
|
||||
except:
|
||||
logger.error(f"Failed to determine if {name} is already installed, continuing anyway.")
|
||||
|
||||
# Preserve plugin order before removing plugin (uninstall alters the order and removes the plugin from the list)
|
||||
current_plugin_order = self.settings.getSetting("pluginOrder")[:]
|
||||
if self.loader.watcher:
|
||||
@@ -213,14 +221,19 @@ class PluginBrowser:
|
||||
return
|
||||
|
||||
else:
|
||||
name = sub(r"/.+$", "", plugin_json_list[0])
|
||||
|
||||
try:
|
||||
pluginFolderPath = self.find_plugin_folder(name)
|
||||
if pluginFolderPath:
|
||||
isInstalled = True
|
||||
except:
|
||||
logger.error(f"Failed to determine if {name} is already installed, continuing anyway.")
|
||||
plugin_json_file = plugin_json_list[0]
|
||||
name = sub(r"/.+$", "", plugin_json_file)
|
||||
try:
|
||||
with plugin_zip.open(plugin_json_file) as f:
|
||||
plugin_json_data = json.loads(f.read().decode('utf-8'))
|
||||
plugin_name_from_plugin_json = plugin_json_data.get('name')
|
||||
if plugin_name_from_plugin_json and plugin_name_from_plugin_json.strip():
|
||||
logger.info(f"Extracted plugin name from {plugin_json_file}: {plugin_name_from_plugin_json}")
|
||||
name = plugin_name_from_plugin_json
|
||||
else:
|
||||
logger.warning(f"Nonexistent or invalid 'name' key value in {plugin_json_file}. Falling back to extracting from path.")
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to read or parse {plugin_json_file}: {str(e)}. Falling back to extracting from path.")
|
||||
|
||||
# Check to make sure we got the file
|
||||
if res_zip is None:
|
||||
|
||||
Reference in New Issue
Block a user