From 1dd713db4a16a4ad5dd3f13968bca2f221e819ea Mon Sep 17 00:00:00 2001 From: Richard Dern Date: Tue, 2 Dec 2025 14:30:29 +0100 Subject: [PATCH] =?UTF-8?q?Limite=20la=20timeline=20minifigs/set=20=C3=A0?= =?UTF-8?q?=202025?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/rebrickable/minifig_parts_correlation.py | 5 +++++ tests/test_minifig_parts_correlation.py | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/rebrickable/minifig_parts_correlation.py b/lib/rebrickable/minifig_parts_correlation.py index 4410d43..f4f2590 100644 --- a/lib/rebrickable/minifig_parts_correlation.py +++ b/lib/rebrickable/minifig_parts_correlation.py @@ -87,11 +87,14 @@ def build_minifigs_per_year( inventory_minifigs_path: Path, ) -> List[dict]: """Calcule le nombre moyen de minifigs par set et par année (filtré vs catalogue).""" + max_year = 2025 filtered_totals: Dict[int, Dict[str, int]] = {} with filtered_counts_path.open() as csv_file: reader = csv.DictReader(csv_file) for row in reader: year = int(row["year"]) + if year > max_year: + continue current = filtered_totals.get(year) if current is None: filtered_totals[year] = {"minifigs": int(row["minifig_count"]), "sets": 1} @@ -104,6 +107,8 @@ def build_minifigs_per_year( reader = csv.DictReader(csv_file) for row in reader: year = int(row["year"]) + if year > max_year: + continue current = catalog_totals.get(year) if current is None: catalog_totals[year] = {"minifigs": global_minifigs.get(row["set_num"], 0), "sets": 1} diff --git a/tests/test_minifig_parts_correlation.py b/tests/test_minifig_parts_correlation.py index e0e0581..28b5586 100644 --- a/tests/test_minifig_parts_correlation.py +++ b/tests/test_minifig_parts_correlation.py @@ -78,7 +78,8 @@ def test_build_minifigs_per_year_computes_averages(tmp_path: Path) -> None: "set_num,set_id,name,year,minifig_count\n" "123-1,123,Set A,2020,2\n" "124-1,124,Set B,2020,1\n" - "125-1,125,Set C,2021,3\n", + "125-1,125,Set C,2021,3\n" + "126-1,126,Set D,2026,4\n", ) all_sets_path = tmp_path / "sets.csv" write_csv( @@ -87,7 +88,8 @@ def test_build_minifigs_per_year_computes_averages(tmp_path: Path) -> None: "123-1,Set A,2020,1,300\n" "124-1,Set B,2020,1,150\n" "125-1,Set C,2021,1,100\n" - "200-1,Set D,2020,1,50\n", + "200-1,Set D,2020,1,50\n" + "126-1,Set D,2026,1,80\n", ) inventories_path = tmp_path / "inventories.csv" write_csv( @@ -96,7 +98,8 @@ def test_build_minifigs_per_year_computes_averages(tmp_path: Path) -> None: "10,1,123-1\n" "20,1,124-1\n" "30,1,125-1\n" - "40,1,200-1\n", + "40,1,200-1\n" + "50,1,126-1\n", ) inventory_minifigs_path = tmp_path / "inventory_minifigs.csv" write_csv( @@ -105,7 +108,8 @@ def test_build_minifigs_per_year_computes_averages(tmp_path: Path) -> None: "10,fig-a,2\n" "20,fig-b,1\n" "30,fig-c,3\n" - "40,fig-d,4\n", + "40,fig-d,4\n" + "50,fig-e,5\n", ) rows = build_minifigs_per_year(