goon/app/extractors
jtrzupek 8c0edbdf7b fix(playback): mark deleted sxyprn posts dead + rank native sources first
Two bug-report fixes (2026-06-07):
- sxyprn returns HTTP 200 "Post Not Found" for deleted posts (soft-404), so the
  extractor returned None → resolve treated it as transient and never marked the
  source dead, leaving a dead link offered forever. Now raise HosterDead on the
  marker so resolve marks it dead.
- Scene playback sources were ordered alphabetically by origin, so a WebView-
  fallback hoster (fpoxxx, IP-bound + ad-heavy) ranked above a working native
  source (freshporno) on the same scene. Add is_vps_blocked_fallback() and sort
  native-resolve origins ahead of WebView-fallback ones.

Verified on prod: sxyprn dead URL → HosterDead; scene sources reorder
freshpornoorg before fpoxxx.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 14:09:01 +02:00
..
hosters fix(extractors): mixdrop hardening, yespornvip extractor, freshporno revert 2026-05-28 23:23:37 +02:00
tubes fix(playback): mark deleted sxyprn posts dead + rank native sources first 2026-06-07 14:09:01 +02:00
__init__.py fix(playback): mark deleted sxyprn posts dead + rank native sources first 2026-06-07 14:09:01 +02:00
_fetch.py Initial commit 2026-05-20 10:10:22 +02:00
_models.py Initial commit 2026-05-20 10:10:22 +02:00
duration_extract.py Initial commit 2026-05-20 10:10:22 +02:00
hoster.py fix(extractors): mixdrop hardening, yespornvip extractor, freshporno revert 2026-05-28 23:23:37 +02:00
iframe_pick.py Initial commit 2026-05-20 10:10:22 +02:00
tag_extract.py Initial commit 2026-05-20 10:10:22 +02:00
thumb_extract.py Initial commit 2026-05-20 10:10:22 +02:00