Spaces:
Running
Running
| import json | |
| from pathlib import Path | |
| from typing import Any | |
| def get_config_value(config: Any, key: str, default=None): | |
| if isinstance(config, dict): | |
| return config.get(key, default) | |
| else: | |
| return getattr(config, key, default) | |
| def load_json_file(filepath: str | Path) -> dict[str, Any]: | |
| filepath = Path(filepath) if isinstance(filepath, str) else filepath | |
| with open(filepath, 'r', encoding='utf-8') as f: | |
| return json.load(f) | |
| def save_json_file(data: dict[str, Any], filepath: str | Path, indent: int = 2) -> None: | |
| filepath = Path(filepath) if isinstance(filepath, str) else filepath | |
| # Ensure directory exists | |
| filepath.parent.mkdir(parents=True, exist_ok=True) | |
| with open(filepath, 'w', encoding='utf-8') as f: | |
| json.dump(data, f, indent=indent, ensure_ascii=False) | |
| __all__ = ["get_config_value", "load_json_file", "save_json_file"] | |