From 3f8f38202aa5025ba16e52fe447c295f9aea4a5b Mon Sep 17 00:00:00 2001 From: goon-foss Date: Mon, 3 Aug 2026 10:56:13 +0200 Subject: [PATCH] fix(movies): streamporn.vip czytal zly listing, stal od 23 dni Zrodlo nie dodalo nic nowego od 2026-07-11. Strona jednak ZYLA, a konektor parsowal poprawnie - problem byl w tym, ze `/movies/` na tym motywie NIE jest sortowane po dacie i oddaje stary katalog. Zmierzone na tych samych 8 pozycjach: `/movies/` dalo roczniki 2012-2015, strona glowna wylacznie 2026, po 10-11 zrodel playbacku kazda. `?orderby=date` motyw ignoruje (odpowiedz identyczna z domyslna). To ta sama klasa bledu co przy freshporno: wlasciwa strona, zly endpoint listingu. Diagnoza po licznikach per zrodlo (ostatni nowy film + nowe w 30d/7d), nie po tym, czy konektor rzuca wyjatkiem - bo nie rzucal. Fix: `_listing_path` na `/` + `/page/N/`. Strony 1 i 2 wspoldziela ~44 linki (sidebar/widgety), ale dedup po URL w fetch_movies je odsiewa. Pilot po zmianie: seen 40, new 18, updated 10, skipped 12, errors 0. Co-Authored-By: Claude Opus 5 --- app/connectors/dooplay.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/connectors/dooplay.py b/app/connectors/dooplay.py index d342629..5b0fefd 100644 --- a/app/connectors/dooplay.py +++ b/app/connectors/dooplay.py @@ -454,6 +454,22 @@ class StreampornVipConnector(DooplayConnector): name = "streampornvip" base_url = "https://streamporn.vip" + def _listing_path(self, page: int) -> str: + """Strona główna, NIE `/movies/`. Diagnoza 2026-08-03: źródło stało od + 2026-07-11 (0 nowych przez 23 dni), ale strona żyła i konektor parsował + poprawnie — tyle że `/movies/` na tym motywie NIE jest sortowane po dacie i + oddaje stary katalog. Zmierzone na tych samych 8 pozycjach: `/movies/` dało + roczniki 2012-2015, strona główna wyłącznie 2026 (po 10-11 źródeł playbacku). + `?orderby=date` motyw ignoruje (odpowiedź identyczna z domyślną). + + To ta sama klasa błędu co przy freshporno: właściwa strona, zły endpoint + listingu — patrz [[reference_kvs_root_rotates_use_latest_updates]]. + + Strony 1 i 2 współdzielą ~44 linki (sidebar/widgety), ale treść główna jest + stronicowana normalnie; dedup po URL w `fetch_movies` i tak je odsiewa. + """ + return "/" if page == 1 else f"/page/{page}/" + class PandamoviesConnector(DooplayConnector): name = "pandamovies"