From f0761703410a73942d19db1abbb3ff42640d95c0 Mon Sep 17 00:00:00 2001 From: Peter Date: Sat, 25 Nov 2023 13:33:24 +0800 Subject: [PATCH] Add XVIIx64.exe to LTspice exes --- icons/schematic.png | Bin 16788 -> 16664 bytes ltspice-discord.py | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/icons/schematic.png b/icons/schematic.png index a616d123db59fdd8c5895fae770da2e63520ce70..bc99c4d0a51fe0743f8725f94c4d25353aa7b14f 100644 GIT binary patch literal 16664 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 List[int]: processes = [] @@ -23,7 +26,8 @@ def find_active_processes(name: str) -> List[int]: return processes -LTSPICE_NAME = "LTSPICE.exe" +LTSPICE_NAME_0 = "LTSPICE.exe" +LTSPICE_NAME_1 = "XVIIx64.exe" last_state = {} last_program = {"pid": None, "path": None} @@ -101,8 +105,8 @@ def handle_ltspice(title: str) -> None: } if state != last_state: - print("UPDATED!") - print(filename, file, ext) + logging.info(f"update rpc! {state['details']}") + logging.info(f"{filename=} {file=} {ext=}") rpc.update( **state, start=int(time.time()), @@ -117,16 +121,18 @@ def handle_ltspice(title: str) -> None: def main() -> None: global last_program WINDOW_HANDLERS = { - LTSPICE_NAME: handle_ltspice, + LTSPICE_NAME_0: handle_ltspice, + LTSPICE_NAME_1: handle_ltspice, } while True: - time.sleep(3) foreground_hwnd = win32gui.GetForegroundWindow() pid = win32process.GetWindowThreadProcessId(foreground_hwnd) if pid[-1] >= 0: try: active_process = psutil.Process(pid[-1]) if active_process.name() in WINDOW_HANDLERS.keys(): + logging.info(pid[-1]) + logging.info(active_process.name()) handler = WINDOW_HANDLERS[active_process.name()] if handler(win32gui.GetWindowText(foreground_hwnd)): last_program = { @@ -139,8 +145,9 @@ def main() -> None: "pid" ] not in find_active_processes(last_program["path"]): last_program = {"pid": None, "path": None} - print("Clear RPC - program closed") + logging.info("Clear RPC - program closed") rpc.clear() + time.sleep(3) if __name__ == "__main__":