Files
Profeto/src/data/config.py
T
shangfangjianandnew-provider/LongCat-2.0 < f05dc1ae15 refactor: 以 bzzoiro 为唯一数据源的全面重构
数据源统一为 bzzoiro,移除 Understat 与 injuries:
- 删除 src/data/understat.py / injuries.py 及相关测试
- 删除 injuries 模型与表;扩展 match_stats(xG 之外增加 big_chances/fouls)
- 新增 standings 表(联赛积分榜:位置/积分/xG/走势/分区)
- matches 表增加 source_event_id 血缘列,支撑统计回填

采集管线(bzzoiro 三条管线):
- events:赛程/比分(/events/),记录 source_event_id
- standings:积分榜快照(/leagues/{id}/standings/)
- stats:已完赛比赛详细统计回填(/events/{id}/stats/)

预测增强:
- standings_slice 替代 injuries_slice;积分榜专家替代阵容完整性专家
- AGENT_META runtime_config 同步更新

管理后台:
- ingest 路由重写为单一 bzzoiro 入口 + task 参数(events/standings/stats/all)
- 新增 /admin/data-completeness 数据完整性分析 API
- 数据源状态页简化为 bzzoiro 单源

前端:
- 采集页重构为任务驱动(比赛/积分榜/统计回填/全量)
- 新增「数据完整性」可视化页(覆盖率矩阵/字段完整率/健康摘要)
- 新增主站积分榜页(/standings)与比赛详情完整统计面板
- agent 名称同步更新(injuries→standings)

迁移 0015_bzzoiro_single_source 已在容器内验证通过,后端测试全部通过。

Co-Authored-By: new-provider/LongCat-2.0 <<EMAIL>>
2026-09-20 19:13:07 +08:00

38 lines
933 B
Python

"""数据源配置常量(联赛映射)。数据源统一为 bzzoiro(单一数据源)。"""
from __future__ import annotations
# fdco 风格代码 → bzzoiro league_id
BZZOIRO_LEAGUE_IDS: dict[str, int] = {
"E0": 1, # Premier League
"SP1": 3, # La Liga
"D1": 5, # Bundesliga
"I1": 4, # Serie A
"F1": 6, # Ligue 1
"CL": 7, # Champions League
"EL": 8, # Europa League
}
# fdco 代码 → 显示名
LEAGUE_NAMES: dict[str, str] = {
"E0": "Premier League",
"SP1": "La Liga",
"D1": "Bundesliga",
"I1": "Serie A",
"F1": "Ligue 1",
"CL": "Champions League",
"EL": "Europa League",
}
# fdco 代码 → 国家
LEAGUE_COUNTRIES: dict[str, str] = {
"E0": "England",
"SP1": "Spain",
"D1": "Germany",
"I1": "Italy",
"F1": "France",
"CL": "Europe",
"EL": "Europe",
}
REQUEST_INTERVAL = 2.0 # bzzoiro 限速(秒);上游限速严厉时宁可慢一点