mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-07-11 13:12:01 +00:00
fix plugin uninstalling
This commit is contained in:
+6
-2
@@ -45,20 +45,24 @@ class PluginBrowser:
|
|||||||
|
|
||||||
def find_plugin_folder(self, name):
|
def find_plugin_folder(self, name):
|
||||||
for folder in listdir(self.plugin_path):
|
for folder in listdir(self.plugin_path):
|
||||||
|
try:
|
||||||
with open(path.join(self.plugin_path, folder, 'plugin.json'), 'r') as f:
|
with open(path.join(self.plugin_path, folder, 'plugin.json'), 'r') as f:
|
||||||
plugin = json.load(f)
|
plugin = json.load(f)
|
||||||
|
|
||||||
if plugin['name'] == name:
|
if plugin['name'] == name:
|
||||||
return path.join(self.plugin_path, folder)
|
return path.join(self.plugin_path, folder)
|
||||||
|
except:
|
||||||
|
self.log.info("skipping " + folder)
|
||||||
|
|
||||||
async def uninstall_plugin(self, name):
|
async def uninstall_plugin(self, name):
|
||||||
tab = await get_tab("SP")
|
tab = await get_tab("SP")
|
||||||
await tab.open_websocket()
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if type(name) != str:
|
if type(name) != str:
|
||||||
data = await name.post()
|
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}')")
|
await tab.evaluate_js(f"DeckyPluginLoader.unloadPlugin('{name}')")
|
||||||
rmtree(self.find_plugin_folder(name))
|
rmtree(self.find_plugin_folder(name))
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export default function PluginList() {
|
|||||||
<div className={staticClasses.Title} style={{ marginLeft: 'auto', boxShadow: 'none' }}>
|
<div className={staticClasses.Title} style={{ marginLeft: 'auto', boxShadow: 'none' }}>
|
||||||
<DialogButton
|
<DialogButton
|
||||||
style={{ height: '40px', width: '40px', padding: '10px 12px' }}
|
style={{ height: '40px', width: '40px', padding: '10px 12px' }}
|
||||||
onClick={() => window.DeckyPluginLoader.uninstall_plugin(name)}
|
onClick={() => window.DeckyPluginLoader.uninstallPlugin(name)}
|
||||||
>
|
>
|
||||||
<FaTrash />
|
<FaTrash />
|
||||||
</DialogButton>
|
</DialogButton>
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class PluginLoader extends Logger {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public uninstall_plugin(name: string) {
|
public uninstallPlugin(name: string) {
|
||||||
showModal(
|
showModal(
|
||||||
<ModalRoot
|
<ModalRoot
|
||||||
onOK={async () => {
|
onOK={async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user