summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flaskapi.py4
-rw-r--r--manager.py21
-rw-r--r--window.py15
3 files changed, 18 insertions, 22 deletions
diff --git a/flaskapi.py b/flaskapi.py
index 2e2ced4..633eed2 100644
--- a/flaskapi.py
+++ b/flaskapi.py
@@ -32,7 +32,7 @@ def seek(increment):
@api.route("/albums/update", methods=["POST"])
def albums_update():
- return { "success": PixMan().update_config(album_list=request.json) }
+ return { "success": PixMan().update_config({ "album_list": request.json }) }
@api.route("/albums")
def albums_get():
@@ -78,7 +78,7 @@ def immich_redirect(path):
@api.route("/config/update", methods=["POST"])
def config_update():
- return { "success": PixMan().update_config(**request.json) }
+ return { "success": PixMan().update_config(request.json) }
@api.route("/config")
def config_get():
diff --git a/manager.py b/manager.py
index 27ebab3..8f7ed80 100644
--- a/manager.py
+++ b/manager.py
@@ -52,7 +52,7 @@ class PixMan:
config = Config.load(self.configfile) if os.path.exists(self.configfile) else Config()
self.init_web(host, port)
- self.replace_config(config)
+ self.update_config(config, replace=True)
def init_web(self, host, port):
self.t_flask = Thread(target=self.app.run, kwargs={ "host": host, "port": port })
@@ -78,24 +78,17 @@ class PixMan:
self.display = PixDisplay(self.texture_list)
self.display.main({}) # TODO glut args
- def replace_config(self, config):
- #old_config = self.config
- self.config = config
+ def update_config(self, config, replace=False):
+ if replace:
+ self.config = config
+ else:
+ self.config.update(**config)
# Initialize window if immich parameters are valid
if self.config.immich_url and self.config.immich_api_key and not self.display:
self.init_window()
- # If all goes well
- self.config.save(self.configfile)
- return True
-
- def update_config(self, **config):
- self.config.update(**config)
-
- # Initialize window if immich parameters are valid
- if self.config.immich_url and self.config.immich_api_key and not self.display:
- self.init_window()
+ self.display.update_config()
# If all goes well
self.config.save(self.configfile)
diff --git a/window.py b/window.py
index f422381..0bb5b3d 100644
--- a/window.py
+++ b/window.py
@@ -19,12 +19,6 @@ class PixDisplay:
self.win_w = 0
self.win_h = 0
- config = PixMan().config
- self.max_framerate = config.max_framerate
- self.image_duration = config.image_duration
- self.transition_duration = config.transition_duration
- self.auto_transition = config.auto_transition
-
self.transition_reverse = False
self.text_prev = None
self.tex = None
@@ -32,6 +26,15 @@ class PixDisplay:
self._force_redraw = False
self.queue = Queue()
+ self.update_config()
+
+ def update_config(self):
+ config = PixMan().config
+ self.max_framerate = config.max_framerate
+ self.image_duration = config.image_duration
+ self.transition_duration = config.transition_duration
+ self.auto_transition = config.auto_transition
+
@property
def max_framerate(self):
#return int(1000/int(1000/self.frame_time))