jabnews/docs/update-7.md
2026-03-23 12:45:37 +03:00

1.5 KiB
Raw Blame History

Обновление 7 — Пропускать OOB если URL картинки содержит недопустимые символы

Контекст

В update-5 была добавлена нормализация URL картинок: символ : в path кодировался как %3A. Выяснилось, что CDN принимает закодированный URL (200 OK), но клиент Conversations всё равно не отображает картинку — причина в hotlink protection на стороне CDN. Таким образом, нормализация URL не решает проблему и бесполезна.

Практическое наблюдение: URL с : в path — признак CDN с hotlink protection. Такие картинки не отобразятся в клиентах в любом случае. Решение: не добавлять OOB для URL, содержащих : в path-части.

Задача

  1. В adapters/sources/rss/fetcher.py:
    • Удалить функцию _normalize_image_url и импорты urllib.parse
    • В _extract_image_url проверять raw URL: если path-часть содержит : — возвращать None

Техническая реализация

Проверка выполняется через urlparse:

from urllib.parse import urlparse

p = urlparse(url)
if ':' in p.path:
    return None
return url