Fixed IPC issues with passing paths back to instance

This commit is contained in:
2025-12-10 20:09:32 -06:00
parent 530fe7c3ab
commit 2c453bc621
2 changed files with 22 additions and 13 deletions

View File

@@ -23,13 +23,14 @@ class Application:
def __init__(self):
super(Application, self).__init__()
if not settings_manager.is_trace_debug():
self.load_ipc()
self.setup_debug_hook()
def run(self):
if not settings_manager.is_trace_debug():
if not self.load_ipc():
return
win = Window()
win.start()
@@ -39,13 +40,20 @@ class Application:
ipc_server = IPCServer()
self.ipc_realization_check(ipc_server)
if not ipc_server.is_ipc_alive:
for arg in unknownargs + [args.new_tab,]:
if os.path.isfile(arg):
message = f"FILE|{arg}"
ipc_server.send_ipc_message(message)
if ipc_server.is_ipc_alive:
return True
raise AppLaunchException(f"{APP_NAME} IPC Server Exists: Have sent path(s) to it and closing...")
logger.warning(f"{app_name} IPC Server Exists: Have sent path(s) to it and closing...")
for arg in unknownargs + [args.new_tab,]:
if os.path.isfile(arg):
message = f"FILE|{arg}"
ipc_server.send_ipc_message(message)
if os.path.isdir(arg):
message = f"DIR|{arg}"
ipc_server.send_ipc_message(message)
return False
def ipc_realization_check(self, ipc_server):
try:
@@ -53,9 +61,6 @@ class Application:
except Exception:
ipc_server.send_test_ipc_message()
with suppress(Exception):
ipc_server.create_ipc_listener()
def setup_debug_hook(self):
# Typically: ValueError: signal only works in main thread
with suppress(ValueError):

View File

@@ -61,8 +61,12 @@ class IPCServer(Singleton):
conn = listener.accept()
start_time = time.perf_counter()
self._handle_ipc_message(conn, start_time)
except EOFError as e:
logger.debug( repr(e) )
except Exception as e:
logger.debug( repr(e) )
finally:
conn.close()
listener.close()
@@ -88,7 +92,7 @@ class IPCServer(Singleton):
break
if msg in ['close connection', 'close server']:
if msg in ['close connection', 'close server', 'Empty Data...']:
conn.close()
break