deepguess's picture
Update StormScope Fast Space (live)
0c2fde1 verified
Raw
History Blame Contribute Delete
1.46 kB
"""Default local paths for rustwx-stormscope products and caches."""
from __future__ import annotations
import os
from pathlib import Path
def env_value(name: str, legacy_name: str | None = None, default: str | Path | None = None) -> str:
if name in os.environ:
return os.environ[name]
if legacy_name and legacy_name in os.environ:
return os.environ[legacy_name]
if default is None:
return ""
return str(default)
def repo_root() -> Path:
return Path(__file__).resolve().parents[1]
def wxstore_root() -> Path:
return Path(
env_value(
"RUSTWX_STORMSCOPE_WXSTORE_ROOT",
"SSFAST_WXSTORE_ROOT",
repo_root() / "volume" / "wxstores" / "stormscope",
)
)
def default_outdir() -> Path:
return Path(env_value("RUSTWX_STORMSCOPE_OUT", "SSFAST_OUT", wxstore_root() / "out" / "operational"))
def default_site_dir() -> Path:
return Path(env_value("RUSTWX_STORMSCOPE_SITE", "SSFAST_SITE", wxstore_root() / "site"))
def default_exports_dir() -> Path:
return Path(env_value("RUSTWX_STORMSCOPE_EXPORTS", "SSFAST_EXPORTS", wxstore_root() / "exports"))
def default_spatial_root() -> Path:
return Path(env_value("RUSTWX_STORMSCOPE_SPATIAL_ROOT", "SSFAST_SPATIAL_ROOT", wxstore_root() / "spatial"))
def default_webmap_dir() -> Path:
return Path(env_value("RUSTWX_STORMSCOPE_WEBMAP", "SSFAST_WEBMAP", wxstore_root() / "webmap_preview"))