| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- """读回多平台跑批结果:确认平台/阶段/卡片类型/段卡时间区间/知识点溯源。"""
- from __future__ import annotations
- import json
- import sys
- from creation_knowledge.config import PgConfig
- from creation_knowledge.integrations.db import CkStore
- def main() -> int:
- store = CkStore(PgConfig.from_env(".env"))
- ids = sys.argv[1:] or [
- "xhs_67e4bdf50000000006028a59",
- "dy_7612631899479648866",
- "ks_3xepqgwddgbickc",
- ]
- for pid in ids:
- p = store.read_post(pid)
- if not p:
- print(f"{pid}: NOT FOUND")
- continue
- cards = p.get("cards") or []
- kinds: dict = {}
- for c in cards:
- kinds[c.get("kind")] = kinds.get(c.get("kind"), 0) + 1
- seg = [c for c in cards if c.get("kind") == "segment"]
- seg_times = ["{}-{}".format(c.get("start"), c.get("end")) for c in seg[:4]]
- items = store.read_items(pid)
- srcs = []
- for it in items[:4]:
- d = it["item"] if isinstance(it["item"], dict) else json.loads(it["item"])
- srcs.append({"title": (d.get("title") or "")[:18],
- "source_cards": d.get("source_cards")})
- print(f"\n{pid}")
- print(f" platform={p.get('platform')} stage={p.get('stage')} "
- f"url={(p.get('url') or '')[:50]}")
- print(f" cards={kinds} seg_times={seg_times}")
- print(f" items={len(items)}")
- for s in srcs:
- print(f" - {s['title']!r} source_cards={s['source_cards']}")
- return 0
- if __name__ == "__main__":
- raise SystemExit(main())
|