Coverage for opt/mealie/lib/python3.12/site-packages/mealie/core/settings/directories.py: 96%
22 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
1from pathlib import Path
4class AppDirectories:
5 def __init__(self, data_dir: Path) -> None:
6 self.DATA_DIR = data_dir
7 self.BACKUP_DIR = data_dir.joinpath("backups")
8 self.USER_DIR = data_dir.joinpath("users")
9 self.RECIPE_DATA_DIR = data_dir.joinpath("recipes")
10 self.TEMPLATE_DIR = data_dir.joinpath("templates")
12 self.GROUPS_DIR = self.DATA_DIR.joinpath("groups")
14 # Deprecated
15 self._TEMP_DIR = data_dir.joinpath(".temp")
16 self._IMG_DIR = data_dir.joinpath("img")
17 self.ensure_directories()
19 @property
20 def IMG_DIR(self):
21 return self._IMG_DIR
23 @property
24 def TEMP_DIR(self):
25 return self._TEMP_DIR
27 def ensure_directories(self):
28 required_dirs = [
29 self.GROUPS_DIR,
30 self.BACKUP_DIR,
31 self.TEMPLATE_DIR,
32 self.RECIPE_DATA_DIR,
33 self.USER_DIR,
34 ]
36 for dir in required_dirs:
37 dir.mkdir(parents=True, exist_ok=True)