"""One-off: głęboki crawl paradisehill (no-delta) do odzyskania backlogu filmów
przegapionych w okresie buga delta (release_date DATA vs timestamp `since`, fix
2026-06-01). Idempotentny — znane filmy pomija przez external_records hash, więc
można puścić wielokrotnie / przerwać i wznowić bez duplikatów.

Użycie:
  python scripts/backfill_paradisehill_movies.py --limit 1500
"""
from __future__ import annotations

import argparse
import logging
import sys

from app.connectors import get_movie_connectors
from app.ingest import ingest_movies_from_connector

logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
log = logging.getLogger("backfill_ph_movies")


def main() -> int:
    ap = argparse.ArgumentParser()
    ap.add_argument("--limit", type=int, default=1500, help="Ile najnowszych filmów przejrzeć (default 1500)")
    args = ap.parse_args()

    reg = dict(get_movie_connectors())
    connector = reg.get("paradisehill")
    if connector is None:
        log.error("paradisehill connector not registered (available: %s)", list(reg))
        return 1

    counters = ingest_movies_from_connector(connector(), use_delta=False, limit=args.limit)
    log.info("DONE backfill paradisehill: %s", counters)
    return 0


if __name__ == "__main__":
    sys.exit(main())
