43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
|
|
"""Где лежат данные.
|
|||
|
|
|
|||
|
|
Собранный exe кладётся в корень клона репозитория, а база — в data/ рядом
|
|||
|
|
с ним. При запуске из исходников корнем считается сама папка проекта, поэтому
|
|||
|
|
разработка и собранное приложение работают с одним и тем же файлом.
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
from __future__ import annotations
|
|||
|
|
|
|||
|
|
import sys
|
|||
|
|
from pathlib import Path
|
|||
|
|
|
|||
|
|
VAULT_NAME = "vault.fmdb"
|
|||
|
|
DATA_DIR_NAME = "data"
|
|||
|
|
|
|||
|
|
|
|||
|
|
def app_root() -> Path:
|
|||
|
|
if getattr(sys, "frozen", False):
|
|||
|
|
return Path(sys.executable).resolve().parent
|
|||
|
|
return Path(__file__).resolve().parent.parent
|
|||
|
|
|
|||
|
|
|
|||
|
|
def data_dir() -> Path:
|
|||
|
|
return app_root() / DATA_DIR_NAME
|
|||
|
|
|
|||
|
|
|
|||
|
|
def vault_path() -> Path:
|
|||
|
|
return data_dir() / VAULT_NAME
|
|||
|
|
|
|||
|
|
|
|||
|
|
def vault_rel_posix() -> str:
|
|||
|
|
"""Путь базы для git — всегда со слешами и относительно корня репозитория."""
|
|||
|
|
return f"{DATA_DIR_NAME}/{VAULT_NAME}"
|
|||
|
|
|
|||
|
|
|
|||
|
|
def backup_path() -> Path:
|
|||
|
|
return data_dir() / f"{VAULT_NAME}.bak"
|
|||
|
|
|
|||
|
|
|
|||
|
|
def remote_copy_path() -> Path:
|
|||
|
|
"""Куда складывается удалённая версия базы при расхождении веток."""
|
|||
|
|
return data_dir() / "vault.remote.fmdb"
|