Coverage for /opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/starlord/_config.py: 64%
28 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-21 20:39 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-21 20:39 +0000
1import os
2import platform
3from pathlib import Path
4from types import SimpleNamespace
6__version__ = "0.1.3"
8config = SimpleNamespace(
9 system=platform.system(),
10 base_dir=Path.home() / ".starlord",
11 cache_dir=Path.home() / ".starlord" / "cycache",
12 grid_dir=Path.home() / ".starlord" / "grids",
13)
16def _load_config():
17 config.system = platform.system()
18 if "STARLORD_DATA_DIR" in os.environ.keys():
19 config.base_dir = Path(os.environ['STARLORD_DATA_DIR'])
20 assert config.base_dir.parent.exists()
21 config.base_dir.mkdir(exist_ok=True)
22 elif config.system == "Linux":
23 assert Path.home().exists()
24 config.base_dir = Path.home() / ".config" / "starlord"
25 config.base_dir.mkdir(parents=True, exist_ok=True)
26 elif config.system == "Darwin":
27 assert Path.home().exists()
28 config.base_dir = Path.home() / "Library" / "Application Support" / "starlord"
29 config.base_dir.mkdir(parents=True, exist_ok=True)
30 else:
31 assert Path.home().exists()
32 config.base_dir = Path.home() / ".starlord"
33 config.base_dir.mkdir(parents=True, exist_ok=True)
34 config.cache_dir = config.base_dir / "cycache"
35 config.cache_dir.mkdir(exist_ok=True)
36 config.grid_dir = config.base_dir / "grids"
37 config.grid_dir.mkdir(exist_ok=True)
40_load_config()