goon/tests/test_yourdailypornmovies_cards.py
goon-foss ed7c1cd3ed fix(movies): yourdailypornmovies gubil nowe filmy przez nowy format okladki
Od ~15.09 nowe karty maja okladke imgs4cdn.adultempire.com/movie/<id>?w=... (czesc
i.ibb.co albo bez okladki), a regex karty wymagal starego products/NN/<id>h.jpg.
33 z 40 filmow strony 1 odpadalo po cichu, ingest przez tydzien: 0 nowych.
Okladka teraz opcjonalna i w dowolnym formacie, id Adult Empire z obu wariantow.
Nadrobione: 26 nowych filmow, 6 dopietych do istniejacych.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 13:18:22 +02:00

38 lines
2.1 KiB
Python

from app.connectors.yourdailypornmovies import _AE_ID_RE, _CARD_RE
_OLD = (
'<div class="movie"><div class="imagen"> <img src="https://imgs1cdn.adultempire.com/products/05/5128705h.jpg" '
'alt="Ramming Into Her" width="100%" height="100%" /> <a href="https://yourdailypornmovies.ws/ramming-into-her/">'
'<span class="player"></span></a></div><h2>Ramming Into Her</h2> <span class="year">2026</span></div>'
)
_NEW = (
'<div class="movie"><div class="imagen"> <img src="https://imgs4cdn.adultempire.com/movie/5136742?w=500&#038;h=700&#038;fit=cover" '
'alt="Big Butts Drive Me Nuts 8" width="100%" height="100%" /> <a href="https://yourdailypornmovies.ws/big-butts-drive-me-nuts-8/">'
'<span class="player"></span></a></div><h2>Big Butts Drive Me Nuts 8</h2> <span class="year">2026</span></div>'
)
_IBB = (
'<div class="movie"><div class="imagen"> <img src="https://i.ibb.co/DHDd9pm9/Private-POV.jpg" alt="Private POV" '
'width="100%" height="100%" /> <a href="https://yourdailypornmovies.ws/private-pov/"><span class="player"></span></a>'
'</div><h2>Private POV</h2> <span class="year">2026</span></div>'
)
_NO_IMG = (
'<div class="movie"><div class="imagen"> <a href="https://yourdailypornmovies.ws/no-cover/"><span class="player">'
'</span></a></div><h2>No Cover</h2> <span class="year">2025</span></div>'
)
def test_all_card_variants_parse():
cards = list(_CARD_RE.finditer(_OLD + _NEW + _IBB + _NO_IMG))
assert [c.group("title") for c in cards] == [
"Ramming Into Her", "Big Butts Drive Me Nuts 8", "Private POV", "No Cover"
]
assert cards[3].group("poster") is None
assert cards[3].group("url") == "https://yourdailypornmovies.ws/no-cover/"
def test_adultempire_id_from_both_poster_formats():
old = _AE_ID_RE.search("https://imgs1cdn.adultempire.com/products/05/5128705h.jpg")
new = _AE_ID_RE.search("https://imgs4cdn.adultempire.com/movie/5136742?w=500&h=700&fit=cover")
assert (old.group(1) or old.group(2)) == "5128705"
assert (new.group(1) or new.group(2)) == "5136742"
assert _AE_ID_RE.search("https://i.ibb.co/DHDd9pm9/Private-POV.jpg") is None