mirror of
https://github.com/andrey271192/domen_hydra.git
synced 2026-09-20 14:42:00 +00:00
23 lines
798 B
Python
23 lines
798 B
Python
import json, logging
|
|
from pathlib import Path
|
|
logger = logging.getLogger("hydra")
|
|
|
|
def load_json(path: Path, default=None):
|
|
if default is None: default = {}
|
|
if not isinstance(path, Path): path = Path(path)
|
|
try:
|
|
if path.exists():
|
|
text = path.read_text(encoding="utf-8")
|
|
if text.strip(): return json.loads(text)
|
|
return default
|
|
except Exception as e:
|
|
logger.error(f"Corrupt {path.name}: {e}"); return default
|
|
|
|
def save_json(path: Path, data):
|
|
if not isinstance(path, Path): path = Path(path)
|
|
try:
|
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
path.write_text(json.dumps(data, ensure_ascii=False, indent=2, default=str), encoding="utf-8")
|
|
except Exception as e:
|
|
logger.error(f"Save fail {path}: {e}")
|