summaryrefslogtreecommitdiff
path: root/pix.py
diff options
context:
space:
mode:
Diffstat (limited to 'pix.py')
-rw-r--r--pix.py41
1 files changed, 9 insertions, 32 deletions
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)