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,