summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/gfycat.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/gfycat.py')
-rw-r--r--gallery_dl/extractor/gfycat.py15
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