asmitha
Clean public project and improve local data paths
8949395
Raw
History Blame Contribute Delete
934 Bytes
"""Project path helpers.
Generated datasets default to the repository's data/ folder. Set
SUBSCRIPTION_PIPELINE_DATA_DIR to run the pipeline against another local data
root, which is useful for CI, Docker, Hugging Face, and locked OneDrive folders.
"""
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
DEFAULT_DATA_DIR = os.path.join(BASE_DIR, "data")
def data_dir() -> str:
"""Return the active data root directory."""
return os.path.abspath(os.environ.get("SUBSCRIPTION_PIPELINE_DATA_DIR", DEFAULT_DATA_DIR))
def data_path(*parts: str) -> str:
"""Build an absolute path inside the active data root."""
return os.path.join(data_dir(), *parts)
def display_data_path(*parts: str) -> str:
"""Return a concise path for logs."""
if os.environ.get("SUBSCRIPTION_PIPELINE_DATA_DIR"):
return data_path(*parts)
return os.path.join("data", *parts)