Coverage for harbor_cli/dirs.py: 58%
17 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-02-09 12:09 +0100
« prev ^ index » next coverage.py v6.5.0, created at 2023-02-09 12:09 +0100
1from __future__ import annotations
3from pathlib import Path
5from loguru import logger
6from platformdirs import PlatformDirs
8from .__about__ import APP_NAME
9from .__about__ import AUTHOR
10from .exceptions import DirectoryCreateError
12_PLATFORM_DIR = PlatformDirs(APP_NAME, AUTHOR)
13CONFIG_DIR = Path(_PLATFORM_DIR.user_config_dir)
14LOGS_DIR = Path(_PLATFORM_DIR.user_log_dir)
17def init_directories() -> None:
18 for directory in [CONFIG_DIR, LOGS_DIR]:
19 try:
20 directory.mkdir(parents=True, exist_ok=True)
21 except Exception as e:
22 # TODO: deduplicate these messages
23 logger.bind(exception=e).error(
24 f"Unable to create directory {directory}: {e}"
25 )
26 raise DirectoryCreateError(f"Unable to create directory {directory}") from e