微信小程序页面迁移校验之前 P5任务处理之前
This commit is contained in:
46
scripts/ops/_verify_fetch_root_check.py
Normal file
46
scripts/ops/_verify_fetch_root_check.py
Normal file
@@ -0,0 +1,46 @@
|
||||
"""
|
||||
验证 extract_api_fields_from_fetch_root 能否从 FETCH_ROOT 正确提取 API 字段。
|
||||
"""
|
||||
import sys, os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv(Path(__file__).resolve().parents[2] / ".env")
|
||||
|
||||
FETCH_ROOT = os.environ.get("FETCH_ROOT")
|
||||
if not FETCH_ROOT:
|
||||
raise RuntimeError("FETCH_ROOT 未设置")
|
||||
|
||||
# 添加 ETL 模块路径
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "apps" / "etl" / "connectors" / "feiqiu"))
|
||||
|
||||
from quality.consistency_checker import (
|
||||
extract_api_fields_from_fetch_root,
|
||||
ODS_TABLE_TO_TASK_CODE,
|
||||
ODS_TABLE_TO_JSON_FILE,
|
||||
)
|
||||
|
||||
fetch_root = Path(FETCH_ROOT)
|
||||
print(f"FETCH_ROOT: {fetch_root}")
|
||||
print(f"ODS 表数量: {len(ODS_TABLE_TO_JSON_FILE)}")
|
||||
print(f"ODS→TaskCode 映射数量: {len(ODS_TABLE_TO_TASK_CODE)}")
|
||||
print()
|
||||
|
||||
success = 0
|
||||
skipped = 0
|
||||
failed = 0
|
||||
|
||||
for ods_table in sorted(ODS_TABLE_TO_JSON_FILE.keys()):
|
||||
fields = extract_api_fields_from_fetch_root(fetch_root, ods_table)
|
||||
task_code = ODS_TABLE_TO_TASK_CODE.get(ods_table, "?")
|
||||
if fields is None:
|
||||
print(f" [跳过] {ods_table} ({task_code}) — 无 JSON 数据")
|
||||
skipped += 1
|
||||
elif len(fields) == 0:
|
||||
print(f" [失败] {ods_table} ({task_code}) — JSON 存在但提取到 0 个字段")
|
||||
failed += 1
|
||||
else:
|
||||
print(f" [成功] {ods_table} ({task_code}) — {len(fields)} 个字段")
|
||||
success += 1
|
||||
|
||||
print(f"\n汇总: 成功={success}, 跳过={skipped}, 失败={failed}")
|
||||
Reference in New Issue
Block a user