#!/usr/bin/env python3
"""Print monetization-aware description copy for an Everyday Red Flags topic.

Side-effect free: reads data/monetization/everyday_red_flags_monetization_map.json
and prints YouTube checklist block plus short TikTok/Reels caption.
"""
from __future__ import annotations
import argparse, json
from pathlib import Path

ROOT = Path(__file__).resolve().parents[1]
MAP_PATH = ROOT / "data" / "monetization" / "everyday_red_flags_monetization_map.json"


def main() -> int:
    parser = argparse.ArgumentParser(description="Print monetization copy for a topic id or slug.")
    parser.add_argument("topic", help="topic_id or slug")
    args = parser.parse_args()
    data = json.loads(MAP_PATH.read_text(encoding="utf-8"))
    topic = args.topic.strip()
    matches = [item for item in data["items"] if item["topic_id"] == topic or item["slug"] == topic]
    if not matches:
        print(f"Topic not found: {topic}")
        return 2
    item = matches[0]
    print(f"Topic: {item['topic_id']} / {item['title_de']}")
    print(f"Fit: {item['monetization_fit']} — {item['partner_fit_label']}")
    partners = ", ".join(item.get("recommended_partners") or []) or "checklist only"
    print(f"Partners: {partners}")
    print(f"Risk: {item['risk_level']}")
    print("\nYouTube checklist block:\n")
    print(item["youtube_checklist_block"])
    print("\nTikTok/Reels short caption:\n")
    print(item["tiktok_caption_short"])
    print("\nGuardrail:")
    print(item["claim_guardrail"])
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
