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

1import os 

2import platform 

3from pathlib import Path 

4from types import SimpleNamespace 

5 

6__version__ = "0.1.3" 

7 

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) 

14 

15 

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) 

38 

39 

40_load_config()