summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/__main__.py7
-rw-r--r--src/server/settings.py2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/server/__main__.py b/src/server/__main__.py
index 508a13a..77bb42a 100644
--- a/src/server/__main__.py
+++ b/src/server/__main__.py
@@ -1,4 +1,6 @@
import argparse
+from platformdirs import user_config_dir
+from pathlib import Path
from .flaskapi import app, socketio
from .settings import Config
@@ -6,9 +8,12 @@ from .manager import PixMan
def main():
+ config_dir = Path(user_config_dir("immich-frame"))
+ config_file = config_dir / "config.json"
+
p = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
p.add_argument("--fullscreen", help="start viewer window in fullscreen", action="store_true")
- p.add_argument("--config", type=str, help="set config file path", default="config.json")
+ p.add_argument("--config", type=str, help="set config file path", default=config_file)
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=8080)
args = p.parse_args()
diff --git a/src/server/settings.py b/src/server/settings.py
index ce76e82..49b9876 100644
--- a/src/server/settings.py
+++ b/src/server/settings.py
@@ -1,4 +1,5 @@
from dataclasses import dataclass, asdict, field
+from pathlib import Path
import json
@@ -24,6 +25,7 @@ class Config:
return cls(**json.load(fp))
def save(self, filepath):
+ Path(filepath).parent.mkdir(parents=True, exist_ok=True) # Create dir if not existing
with open(filepath, "w") as fp:
json.dump(asdict(self), fp, indent=2)