diff --git a/r2/r2/lib/media.py b/r2/r2/lib/media.py index a7cda2616..90c6239e0 100644 --- a/r2/r2/lib/media.py +++ b/r2/r2/lib/media.py @@ -349,8 +349,9 @@ def _set_media(link, force=False, **kwargs): link._commit() - image_uid = media.preview_object['uid'] - LinksByImage.add_link(image_uid, link) + if media.preview_object: + image_uid = media.preview_object['uid'] + LinksByImage.add_link(image_uid, link) hooks.get_hook("scraper.set_media").call(link=link) @@ -471,9 +472,12 @@ class _ThumbnailOnlyScraper(Scraper): def scrape(self): thumbnail_url, image_data = self._find_thumbnail_image() + if not thumbnail_url: + return None, None, None, None + # When isolated from the context of a webpage, protocol-relative URLs # are ambiguous, so let's absolutify them now. - if thumbnail_url and thumbnail_url.startswith('//'): + if thumbnail_url.startswith('//'): thumbnail_url = coerce_url_to_protocol(thumbnail_url, self.protocol) if not image_data: