Refactor AI daily report pipeline

This commit is contained in:
Mimikko-zeus
2026-06-04 15:21:56 +08:00
parent 94e18ce22d
commit 5a98696255
64 changed files with 4778 additions and 1316 deletions

19
ai_daily_report/config.py Normal file
View File

@@ -0,0 +1,19 @@
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
from .models import SourceConfig
from .pipeline import _source_config_from_dict
def load_json(path: Path) -> Any:
return json.loads(path.read_text(encoding="utf-8"))
def load_source_configs(path: Path) -> list[SourceConfig]:
raw = load_json(path)
if not isinstance(raw, list):
raise ValueError("sources config must be a list")
return [_source_config_from_dict(item) for item in raw]