summaryrefslogtreecommitdiff
path: root/backend/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/main.py')
-rw-r--r--backend/main.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/backend/main.py b/backend/main.py
index 83032be3..ab64a3d9 100644
--- a/backend/main.py
+++ b/backend/main.py
@@ -1,9 +1,14 @@
+# Change PyInstaller files permissions
+import sys
+from subprocess import call
+if hasattr(sys, '_MEIPASS'):
+ call(['chmod', '-R', '755', sys._MEIPASS])
# Full imports
from asyncio import get_event_loop, sleep
from json import dumps, loads
from logging import DEBUG, INFO, basicConfig, getLogger
-from os import getenv, path
-from subprocess import call
+from os import getenv, chmod
+from traceback import format_exc
import aiohttp_cors
# Partial imports
@@ -70,7 +75,7 @@ class PluginManager:
)
})
self.plugin_loader = Loader(self.web_app, CONFIG["plugin_path"], self.loop, CONFIG["live_reload"])
- self.plugin_browser = PluginBrowser(CONFIG["plugin_path"], self.plugin_loader.plugins)
+ self.plugin_browser = PluginBrowser(CONFIG["plugin_path"], self.plugin_loader.plugins, self.plugin_loader)
self.settings = SettingsManager("loader", path.join(HOMEBREW_PATH, "settings"))
self.utilities = Utilities(self)
self.updater = Updater(self)
@@ -123,9 +128,9 @@ class PluginManager:
async def inject_javascript(self, request=None):
try:
- await inject_to_tab("SP", "try{window.deckyHasLoaded = true;(async()=>{while(!window.SP_REACT){await new Promise(r => setTimeout(r, 10))};await import('http://localhost:1337/frontend/index.js')})();}catch(e){console.error(e)}", True)
+ await inject_to_tab("SP", "try{if (window.deckyHasLoaded) location.reload();window.deckyHasLoaded = true;(async()=>{while(!window.SP_REACT){await new Promise(r => setTimeout(r, 10))};await import('http://localhost:1337/frontend/index.js')})();}catch(e){console.error(e)}", True)
except:
- logger.info("Failed to inject JavaScript into tab")
+ logger.info("Failed to inject JavaScript into tab\n" + format_exc())
pass
def run(self):