goon/tests/test_dooplay_listing.py
goon-foss b0645f625a fix(movies): streamporn.li, nowy uklad mangoporn i yourdailypornmovies
Trzy zrodla filmow od tygodnia nie dawaly nic, a watchdog widzial tylko
"brak nowych":
- streamporn.vip -> 302 streamporn.li; konektor odrzuca linki spoza swojej
  domeny, wiec lista byla pusta. Id filmu to slug, domena nie robi duplikatow.
- mangoporn: /movies/ daje 404, lista z /page/N/; link ma class przed href,
  tytul w golym <h1> (zapas po itemprop i class="data"); limit 75 s, strona
  odpowiada z VPS po 30-60 s.
- yourdailypornmovies: nowe linie miedzy znacznikami karty, wzorzec bez \s*
  nie lapal nic przy dzialajacej stronie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:50:34 +02:00

23 lines
1 KiB
Python

from app.connectors.dooplay import _LIST_ITEM_RE
def _urls(html):
return [m.group("url") or m.group("url2") for m in _LIST_ITEM_RE.finditer(html)]
def test_mangoporn_class_before_href():
# mangoporn od 2026-10: klasa przed href, wczesniej wzorzec nie lapal nic.
html = (
'<a class="thumb" href="https://mangoporn.net/movies/major-creampie/"><div></div></a>'
'<a class="infos" href="https://mangoporn.net/movies/major-creampie/" title="Major Creampie">'
'<a title="Porn Movies" href="https://mangoporn.net/movies/category/porn-movies-xxx/" class="nav-link">'
)
assert _urls(html) == [
"https://mangoporn.net/movies/major-creampie/",
"https://mangoporn.net/movies/major-creampie/",
]
def test_old_layouts_still_match():
assert _urls('<a href="https://mangoporn.net/movies/old-one/">x</a>') == ["https://mangoporn.net/movies/old-one/"]
assert _urls('<a href="https://streamporn.li/watch-xxx-a/" class="ml-mask jt">') == ["https://streamporn.li/watch-xxx-a/"]