51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
import sys, os
|
|
from tools import ctx, setup_logger, check_if_app
|
|
from backend import scripts
|
|
|
|
# environment variable must be set to enable qtwebengine in network path
|
|
if check_if_app():
|
|
os.environ['QTWEBENGINE_DISABLE_SANDBOX'] = "1"
|
|
|
|
# setup custom logger
|
|
logger = setup_logger(verbosity=3)
|
|
|
|
from PyQt6.QtWidgets import QApplication
|
|
from frontend.widgets.app import App
|
|
|
|
|
|
def run_startup():
|
|
try:
|
|
startup_scripts = ctx.startup_scripts
|
|
except AttributeError as e:
|
|
logger.error(f"Couldn't get startup scripts due to {e}")
|
|
return
|
|
for script in startup_scripts:
|
|
try:
|
|
func = getattr(scripts, script)
|
|
except AttributeError as e:
|
|
logger.error(f"Couldn't run startup script {script} due to {e}")
|
|
continue
|
|
func(ctx)
|
|
|
|
|
|
def run_teardown():
|
|
try:
|
|
teardown_scripts = ctx.teardown_scripts
|
|
except AttributeError as e:
|
|
logger.error(f"Couldn't get teardown scripts due to {e}")
|
|
return
|
|
for script in teardown_scripts:
|
|
try:
|
|
func = getattr(scripts, script)
|
|
except AttributeError as e:
|
|
logger.error(f"Couldn't run teardown script {script} due to {e}")
|
|
continue
|
|
func(ctx)
|
|
|
|
if __name__ == '__main__':
|
|
run_startup()
|
|
app = QApplication(['', '--no-sandbox'])
|
|
ex = App(ctx=ctx)
|
|
app.exec()
|
|
sys.exit(run_teardown())
|