1

Liste les nouveaux personnages par année

This commit is contained in:
2025-12-03 22:41:06 +01:00
parent f9e1555ecb
commit 871539c4f7
4 changed files with 235 additions and 5 deletions

View File

@@ -0,0 +1,39 @@
"""Liste les nouveaux personnages introduits chaque année et leurs sets associés."""
from pathlib import Path
from lib.rebrickable.minifig_character_sets import load_sets
from lib.rebrickable.minifig_characters import (
aggregate_new_character_sets,
load_minifigs_by_set,
write_new_character_sets_csv,
write_new_character_sets_markdown,
)
MINIFIGS_BY_SET_PATH = Path("data/intermediate/minifigs_by_set.csv")
SETS_ENRICHED_PATH = Path("data/intermediate/sets_enriched.csv")
CSV_DESTINATION_PATH = Path("data/final/minifig_new_characters_by_year.csv")
MARKDOWN_DESTINATION_PATH = Path("data/final/minifig_new_characters_by_year.md")
EXCLUDED_CHARACTERS = ["Figurant"]
START_YEAR = 2015
END_YEAR = 2025
def main() -> None:
"""Construit le CSV et le Markdown listant les personnages introduits chaque année."""
minifigs = load_minifigs_by_set(MINIFIGS_BY_SET_PATH)
sets_lookup = load_sets(SETS_ENRICHED_PATH)
rows = aggregate_new_character_sets(
minifigs,
sets_lookup,
excluded_characters=EXCLUDED_CHARACTERS,
start_year=START_YEAR,
end_year=END_YEAR,
)
write_new_character_sets_csv(CSV_DESTINATION_PATH, rows)
write_new_character_sets_markdown(MARKDOWN_DESTINATION_PATH, rows)
if __name__ == "__main__":
main()