Files

53 lines
1.3 KiB
Python

import os
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parent.parent
DATABASE_CODE_ROOT = PROJECT_ROOT / 'database'
_runtime_override = os.environ.get('YRTV_DATA_DIR')
RUNTIME_DATA_ROOT = (
Path(_runtime_override).expanduser().resolve()
if _runtime_override
else DATABASE_CODE_ROOT
)
L1_DIR = RUNTIME_DATA_ROOT / 'L1'
L2_DIR = RUNTIME_DATA_ROOT / 'L2'
L3_DIR = RUNTIME_DATA_ROOT / 'L3'
WEB_DIR = RUNTIME_DATA_ROOT / 'Web'
L1_DB = L1_DIR / 'L1.db'
L2_DB = L2_DIR / 'L2.db'
L3_DB = L3_DIR / 'L3.db'
WEB_DB = WEB_DIR / 'Web_App.sqlite'
L2_SCHEMA = DATABASE_CODE_ROOT / 'L2' / 'schema.sql'
L3_SCHEMA = DATABASE_CODE_ROOT / 'L3' / 'schema.sql'
WEB_SCHEMA = DATABASE_CODE_ROOT / 'Web' / 'schema.sql'
_import_override = os.environ.get('YRTV_IMPORT_DIR')
OUTPUT_ARENA = (
Path(_import_override).expanduser().resolve()
if _import_override
else (
RUNTIME_DATA_ROOT / 'imports'
if _runtime_override
else PROJECT_ROOT / 'output_arena'
)
)
BACKUP_ROOT = RUNTIME_DATA_ROOT / 'backups'
PIPELINE_LOCK = RUNTIME_DATA_ROOT / '.pipeline.lock'
def ensure_runtime_directories():
for path in (
L1_DIR,
L2_DIR,
L3_DIR,
WEB_DIR,
OUTPUT_ARENA,
BACKUP_ROOT,
):
path.mkdir(parents=True, exist_ok=True)