"""Remove polluted collection filter profiles from master_collection_registry aliases."""

from __future__ import annotations

import argparse
import json
import sys

from db.collection_filter_cleanup import cleanup_polluted_collection_filter_profiles
from db.session import get_session


def main() -> int:
    parser = argparse.ArgumentParser(description="Cleanup polluted collection filter profiles")
    parser.add_argument("--category-l1", default="Kitchen Cabinets")
    parser.add_argument("--apply", action="store_true", help="Write changes")
    args = parser.parse_args()

    with get_session() as session:
        result = cleanup_polluted_collection_filter_profiles(
            session,
            category_l1=args.category_l1,
            dry_run=not args.apply,
        )
        if args.apply:
            session.commit()
    print(json.dumps(result, indent=2, default=str))
    return 0


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