2022-02-25 23:58:11 +00:00
|
|
|
# Python imports
|
2022-11-29 04:34:13 +00:00
|
|
|
import os
|
|
|
|
import inspect
|
2022-02-25 23:58:11 +00:00
|
|
|
|
|
|
|
# Lib imports
|
|
|
|
|
|
|
|
# Application imports
|
2022-10-10 01:59:44 +00:00
|
|
|
|
2022-08-13 03:54:16 +00:00
|
|
|
from utils.ipc_server import IPCServer
|
2023-02-24 05:03:29 +00:00
|
|
|
from core.window import Window
|
2022-02-25 23:58:11 +00:00
|
|
|
|
|
|
|
|
2022-10-02 03:12:14 +00:00
|
|
|
class AppLaunchException(Exception):
|
2022-09-05 06:01:51 +00:00
|
|
|
...
|
|
|
|
|
|
|
|
|
2022-02-25 23:58:11 +00:00
|
|
|
|
2022-08-13 03:54:16 +00:00
|
|
|
class Application(IPCServer):
|
2022-10-23 04:53:33 +00:00
|
|
|
""" Inherit from IPCServer; create Controller classe; bind any signal(s) to Builder. """
|
2022-02-25 23:58:11 +00:00
|
|
|
|
|
|
|
def __init__(self, args, unknownargs):
|
2022-08-13 03:54:16 +00:00
|
|
|
super(Application, self).__init__()
|
2022-10-23 04:53:33 +00:00
|
|
|
self.args, self.unknownargs = args, unknownargs
|
2022-10-10 01:59:44 +00:00
|
|
|
|
|
|
|
if not settings.is_trace_debug():
|
2022-10-23 04:53:33 +00:00
|
|
|
try:
|
|
|
|
self.create_ipc_listener()
|
|
|
|
except Exception:
|
|
|
|
...
|
2022-02-25 23:58:11 +00:00
|
|
|
|
2022-08-13 03:54:16 +00:00
|
|
|
if not self.is_ipc_alive:
|
2022-10-23 04:53:33 +00:00
|
|
|
for arg in unknownargs + [args.new_tab,]:
|
|
|
|
if os.path.isdir(arg):
|
|
|
|
message = f"FILE|{arg}"
|
|
|
|
self.send_ipc_message(message)
|
2022-02-25 23:58:11 +00:00
|
|
|
|
2022-10-23 04:53:33 +00:00
|
|
|
raise AppLaunchException(f"{app_name} IPC Server Exists: Will send path(s) to it and close...")
|
2022-02-25 23:58:11 +00:00
|
|
|
|
2023-02-24 05:03:29 +00:00
|
|
|
Window(args, unknownargs)
|