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

1from pathlib import Path 

2 

3 

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") 

11 

12 self.GROUPS_DIR = self.DATA_DIR.joinpath("groups") 

13 

14 # Deprecated 

15 self._TEMP_DIR = data_dir.joinpath(".temp") 

16 self._IMG_DIR = data_dir.joinpath("img") 

17 self.ensure_directories() 

18 

19 @property 

20 def IMG_DIR(self): 

21 return self._IMG_DIR 

22 

23 @property 

24 def TEMP_DIR(self): 

25 return self._TEMP_DIR 

26 

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 ] 

35 

36 for dir in required_dirs: 

37 dir.mkdir(parents=True, exist_ok=True)