Source code for tom.config

import logging
import os
from pathlib import Path
from typing import Optional

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
DEBUG = True if os.getenv('TOM_DEBUG', False) in ['1', 'true'] else False

TOM_OUTPUT_DIR: Optional[str] = os.getenv('TOM_OUTPUT_DIR')

log_level = logging.DEBUG if DEBUG else logging.INFO
logging.basicConfig(level=log_level)


[docs]def output_dir() -> Path: if TOM_OUTPUT_DIR: return Path(TOM_OUTPUT_DIR) else: return Path(PROJECT_ROOT) / '..' / 'build'
[docs]def output_file(filename: str, subdir: str = '.', suffix: str = '') -> Path: if len(suffix) > 0: filename = filename + '.' + suffix p = output_dir() / str(subdir) # Ensure subdir exists p.mkdir(parents=True, exist_ok=True) return p / filename