1.5 KiB
1.5 KiB
Обновление 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-части.
Задача
- В
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