import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parent.parent))

from app.config import CATEGORIES
from app.content.gemini_client import generate_unique_fact
from app.dedup.store import get_connection, insert_fact


def main():
    category_slug = sys.argv[1] if len(sys.argv) > 1 else "finans"
    count = int(sys.argv[2]) if len(sys.argv) > 2 else 3
    category = CATEGORIES[category_slug]

    with get_connection() as conn:
        for i in range(count):
            content = generate_unique_fact(conn, category_slug, category["display_name"])
            if content is None:
                print(f"[{i+1}] FAILED to generate unique fact")
                continue
            insert_fact(
                conn,
                category_slug,
                content.fact,
                content.title,
                content.description,
                content.hashtags,
            )
            print(f"[{i+1}] title={content.title!r}")
            print(f"     fact={content.fact}")
            print(f"     description={content.description}")
            print(f"     hashtags={content.hashtags}")
            print()


if __name__ == "__main__":
    main()
