aboutsummaryrefslogtreecommitdiffstats
path: root/hyprsunset_qt
diff options
context:
space:
mode:
Diffstat (limited to 'hyprsunset_qt')
-rw-r--r--hyprsunset_qt/config.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/hyprsunset_qt/config.py b/hyprsunset_qt/config.py
index f8ad5cf..a718861 100644
--- a/hyprsunset_qt/config.py
+++ b/hyprsunset_qt/config.py
@@ -4,6 +4,7 @@ from __future__ import annotations
import re
from dataclasses import dataclass
+from pathlib import Path
_BLOCK_RE = re.compile(r"profile\s*\{(.*?)\}", re.DOTALL)
@@ -82,3 +83,19 @@ def night_index(profiles: list[Profile]) -> int | None:
if p.temperature is not None:
return i
return None
+
+
+CONFIG_PATH = Path.home() / ".config" / "hypr" / "hyprsunset.conf"
+
+
+def read_config(path: Path = CONFIG_PATH) -> list[Profile]:
+ path = Path(path)
+ if not path.exists():
+ return []
+ return parse_config(path.read_text())
+
+
+def write_config(profiles: list[Profile], path: Path = CONFIG_PATH) -> None:
+ path = Path(path)
+ path.parent.mkdir(parents=True, exist_ok=True)
+ path.write_text(serialize(profiles))