diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/__main__.py | 7 | ||||
| -rw-r--r-- | src/server/settings.py | 2 |
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) |
