From 5065df6220329dd91dfb6937bba02b58ea864eec Mon Sep 17 00:00:00 2001 From: goon-foss Date: Thu, 20 Aug 2026 16:45:03 +0200 Subject: [PATCH] fix(ingest): odrzucaj daty premiery odlegle w przyszlosc Zgloszenie de732da2 ("porndish jakby zaprzestal ingestu"). Ingest dziala, 106 nowych zrodel w 7 dni i 12-18 scen dziennie z poprawnymi datami. Problem byl na samej gorze listy: dwie sceny porndish z datami 2026-12-02 i 2026-09-04, dodane jeszcze w maju, stoja przy sortowaniu po premierze nad wszystkim, wiec pierwsze, co user widzi, nigdy sie nie zmienia. Data odlegla o miesiace to literowka w roku albo blad parsera, nie zapowiedz. Przyjmujemy do 14 dni w przod, dalej odrzucamy, czyli scena sortuje sie po dacie dodania. Wyczyszczone tez wstecz: 10 wierszy w calej bazie, po tym porndish ma na gorze sceny z 2026-08-19. Co-Authored-By: Claude Opus 5 --- app/normalize/scenes.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/normalize/scenes.py b/app/normalize/scenes.py index 8e9ea36..e28d290 100644 --- a/app/normalize/scenes.py +++ b/app/normalize/scenes.py @@ -168,13 +168,30 @@ def normalize_performer(raw: RawPerformer) -> NormalizedPerformer: ) +#: Ile dni w przod jeszcze uznajemy date premiery za wiarygodna. Studia zapowiadaja +#: sceny z niewielkim wyprzedzeniem, ale data odlegla o miesiace to literowka w roku +#: albo blad parsera. Takie daty sa szkodliwe, bo listy sortowane po premierze pinuja +#: je na stale na gorze: dwie sceny porndish (najdalsza 2026-12-02, dodana w maju) +#: siedzialy nad wszystkim, przez co serwis wygladal, jakby przestal ingestowac +#: (zgloszenie de732da2). Odrzucamy je, czyli scena sortuje sie po dacie dodania. +_MAX_FUTURE_RELEASE_DAYS = 14 + + +def _sane_release_date(value): + if value is None: + return None + from datetime import date, timedelta + + return None if value > date.today() + timedelta(days=_MAX_FUTURE_RELEASE_DAYS) else value + + def normalize_scene(raw: RawScene) -> NormalizedScene: return NormalizedScene( external_id=raw.external_id, title=raw.title, title_normalized=normalize(raw.title), slug=slugify(raw.title), - release_date=raw.release_date, + release_date=_sane_release_date(raw.release_date), description=raw.description, duration_sec=raw.duration_sec, code=raw.code,