|
|
@ -52,23 +52,22 @@ class RedgifsExtractor(Extractor):
|
|
|
|
|
|
|
|
|
|
|
|
gif.update(metadata)
|
|
|
|
gif.update(metadata)
|
|
|
|
gif["count"] = cnt
|
|
|
|
gif["count"] = cnt
|
|
|
|
|
|
|
|
gif["date"] = text.parse_timestamp(gif.get("createDate"))
|
|
|
|
yield Message.Directory, gif
|
|
|
|
yield Message.Directory, gif
|
|
|
|
|
|
|
|
|
|
|
|
for num, gif in enumerate(gifs, enum):
|
|
|
|
for num, gif in enumerate(gifs, enum):
|
|
|
|
url = self._process(gif)
|
|
|
|
gif["_fallback"] = formats = self._formats(gif)
|
|
|
|
|
|
|
|
url = next(formats, None)
|
|
|
|
|
|
|
|
|
|
|
|
if not url:
|
|
|
|
if not url:
|
|
|
|
self.log.warning(
|
|
|
|
self.log.warning(
|
|
|
|
"Skipping '%s' (format not available)", gif["id"])
|
|
|
|
"Skipping '%s' (format not available)", gif["id"])
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
|
|
gif["num"] = num
|
|
|
|
gif["num"] = num
|
|
|
|
gif["count"] = cnt
|
|
|
|
gif["count"] = cnt
|
|
|
|
yield Message.Url, url, gif
|
|
|
|
yield Message.Url, url, gif
|
|
|
|
|
|
|
|
|
|
|
|
def _process(self, gif):
|
|
|
|
|
|
|
|
gif["_fallback"] = formats = self._formats(gif)
|
|
|
|
|
|
|
|
gif["date"] = text.parse_timestamp(gif.get("createDate"))
|
|
|
|
|
|
|
|
return next(formats, None)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _formats(self, gif):
|
|
|
|
def _formats(self, gif):
|
|
|
|
urls = gif["urls"]
|
|
|
|
urls = gif["urls"]
|
|
|
|
for fmt in self.formats:
|
|
|
|
for fmt in self.formats:
|
|
|
|