diff options
Diffstat (limited to 'gallery_dl/extractor/gfycat.py')
| -rw-r--r-- | gallery_dl/extractor/gfycat.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gallery_dl/extractor/gfycat.py b/gallery_dl/extractor/gfycat.py index 9b4d5ee..501d114 100644 --- a/gallery_dl/extractor/gfycat.py +++ b/gallery_dl/extractor/gfycat.py @@ -36,7 +36,13 @@ class GfycatExtractor(Extractor): if "gfyName" not in gfycat: self.log.warning("Skipping '%s' (malformed)", gfycat["gfyId"]) continue + url = self._process(gfycat) + if not url: + self.log.warning("Skipping '%s' (format not available)", + gfycat["gfyId"]) + continue + gfycat.update(metadata) yield Message.Directory, gfycat yield Message.Url, url, gfycat @@ -44,7 +50,7 @@ class GfycatExtractor(Extractor): def _process(self, gfycat): gfycat["_fallback"] = formats = self._formats(gfycat) gfycat["date"] = text.parse_timestamp(gfycat.get("createDate")) - return next(formats, "") + return next(formats, None) def _formats(self, gfycat): for fmt in self.formats: @@ -73,6 +79,9 @@ class GfycatUserExtractor(GfycatExtractor): "count": ">= 100", }) + def metadata(self): + return {"userName": self.key} + def gfycats(self): return GfycatAPI(self).user(self.key) @@ -155,6 +164,10 @@ class GfycatImageExtractor(GfycatExtractor): self.log.warning("Skipping '%s' (malformed)", gfycat["gfyId"]) return url = self._process(gfycat) + if not url: + self.log.warning("Skipping '%s' (format not available)", + gfycat["gfyId"]) + return yield Message.Directory, gfycat yield Message.Url, url, gfycat |
