"""Filtre les sets LEGO pour ne conserver que les thèmes ciblés."""

import os
from pathlib import Path

from dotenv import load_dotenv

from lib.rebrickable.filter_sets import filter_sets_by_theme, parse_theme_ids


SOURCE_PATH = Path("data/raw/sets.csv")
DESTINATION_PATH = Path("data/intermediate/sets_filtered.csv")
OVERRIDES_PATH = Path("config/num_parts_overrides.csv")


def main() -> None:
    """Lance le filtrage des sets à partir des identifiants définis dans l'environnement."""
    load_dotenv()
    theme_ids = parse_theme_ids(os.environ["THEME_IDS"])
    filter_sets_by_theme(SOURCE_PATH, DESTINATION_PATH, theme_ids, OVERRIDES_PATH)


if __name__ == "__main__":
    main()
