"""Где лежат данные хаба: каталог, база, резервные копии.""" import logging import os from pathlib import Path log = logging.getLogger(__name__) def home() -> Path: return Path(os.environ.get("JIRA_HUB_HOME", str(Path.home() / ".local" / "share" / "jira-hub"))) def db_path() -> Path: return home() / "hub.sqlite" def backups_dir() -> Path: return home() / "backups" def release_dir() -> Path: return home() / "release" def secure_dir(path: Path) -> None: """Создать каталог и закрыть его владельцу (0700): в базе и копиях лежат токены (M-7). Сбой chmod (каталог чужой) — предупреждение, хаб продолжает работу.""" path = Path(path) path.mkdir(parents=True, exist_ok=True) try: os.chmod(path, 0o700) except OSError as e: log.warning("каталог %s не закрыт (0700): %s", path, e)