Coverage for opt/mealie/lib/python3.12/site-packages/mealie/core/settings/directories.py: 96%

22 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-11-25 17:29 +0000

1from pathlib import Path 1a

2 

3 

4class AppDirectories: 1a

5 def __init__(self, data_dir: Path) -> None: 1a

6 self.DATA_DIR = data_dir 1a

7 self.BACKUP_DIR = data_dir.joinpath("backups") 1a

8 self.USER_DIR = data_dir.joinpath("users") 1a

9 self.RECIPE_DATA_DIR = data_dir.joinpath("recipes") 1a

10 self.TEMPLATE_DIR = data_dir.joinpath("templates") 1a

11 

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

13 

14 # Deprecated 

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

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

17 self.ensure_directories() 1a

18 

19 @property 1a

20 def IMG_DIR(self): 1a

21 return self._IMG_DIR 

22 

23 @property 1a

24 def TEMP_DIR(self): 1a

25 return self._TEMP_DIR 1bc

26 

27 def ensure_directories(self): 1a

28 required_dirs = [ 1a

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: 1a

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