2026-07-29 17:36:22 +02:00
|
|
|
from dataclasses import dataclass
|
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
|
|
|
class AppPaths:
|
|
|
|
|
base_dir: Path
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def venv_dir(self) -> Path:
|
|
|
|
|
return self.base_dir / ".venv"
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def data_dir(self) -> Path:
|
|
|
|
|
return self.base_dir / "data"
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def db_path(self) -> Path:
|
|
|
|
|
return self.data_dir / "config.db"
|
|
|
|
|
|
2026-08-16 00:38:25 +02:00
|
|
|
@property
|
|
|
|
|
def log_db_path(self) -> Path:
|
|
|
|
|
return self.data_dir / "log.db"
|
|
|
|
|
|
2026-07-29 17:36:22 +02:00
|
|
|
@property
|
|
|
|
|
def requirements_path(self) -> Path:
|
|
|
|
|
return self.base_dir / "requirements.txt"
|