From b8df4605b42d9a61bb4ae4731efabbdc38166063 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Mon, 16 Jun 2025 21:50:38 -0500 Subject: add config and add application thread manager --- pix.py | 41 +++++++++-------------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) (limited to 'pix.py') diff --git a/pix.py b/pix.py index 45e3f70..236d2f1 100644 --- a/pix.py +++ b/pix.py @@ -1,38 +1,15 @@ -import sys -import signal -from threading import Thread -from OpenGL.GLUT import glutLeaveMainLoop +import argparse -from lazycachelist import LazyCachingTextureList -from window import PixDisplay -from immich import ImmichConnector from flaskapi import app, socketio - - -def handle_sigint(sig, frame): - try: - glutLeaveMainLoop() - sys.exit(0) - except: - pass - finally: - print("Exiting on Ctrl+C") +from settings import Config +from manager import PixMan if __name__ == "__main__": - immich_connector = ImmichConnector("http://192.168.1.13", "m5nqOoBc4uhAba21gZdCP3z8D3JT4GPxDXL2psd52EA") - album_keys = [ "38617851-6b57-44f1-b5f7-82577606afc4" ] - lazy_texture_list = LazyCachingTextureList(immich_connector, album_keys, 30, lambda d: socketio.emit("seek", d)) - pd = PixDisplay(lazy_texture_list) - - t1 = Thread(target=immich_connector.idle, daemon=True) - t1.start() - - app.config["pix_display"] = pd - app.config["immich_connector"] = immich_connector - app.config["textures"] = lazy_texture_list - flask_thread = Thread(target=app.run, daemon=True, kwargs={ "port": 5000 }) - flask_thread.start() + p = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) + p.add_argument("--config", type=str, help="set config file path", default="config.json") + p.add_argument("--host", type=str, help="set web interface host", default="0.0.0.0") + p.add_argument("--port", type=int, help="set web interface port", default=80) + args = p.parse_args() - signal.signal(signal.SIGINT, handle_sigint) - pd.main(sys.argv) + PixMan.initialize(args.config, app, socketio, args.host, args.port) -- cgit v1.2.3