53 lines
1.3 KiB
Python
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)
|