[gfycat] skip malformed gfycat responses (closes #902)
This commit is contained in:
@@ -28,6 +28,9 @@ class GfycatExtractor(Extractor):
|
|||||||
def items(self):
|
def items(self):
|
||||||
metadata = self.metadata()
|
metadata = self.metadata()
|
||||||
for gfycat in self.gfycats():
|
for gfycat in self.gfycats():
|
||||||
|
if "gfyName" not in gfycat:
|
||||||
|
self.log.warning("Skipping '%s' (malformed)", gfycat["gfyId"])
|
||||||
|
continue
|
||||||
url = self._select_format(gfycat)
|
url = self._select_format(gfycat)
|
||||||
gfycat.update(metadata)
|
gfycat.update(metadata)
|
||||||
yield Message.Directory, gfycat
|
yield Message.Directory, gfycat
|
||||||
@@ -118,6 +121,10 @@ class GfycatImageExtractor(GfycatExtractor):
|
|||||||
("https://www.gfycat.com/foolishforkedabyssiniancat", {
|
("https://www.gfycat.com/foolishforkedabyssiniancat", {
|
||||||
"pattern": "https://redgifs.com/watch/foolishforkedabyssiniancat",
|
"pattern": "https://redgifs.com/watch/foolishforkedabyssiniancat",
|
||||||
}),
|
}),
|
||||||
|
# malformed API response (#902)
|
||||||
|
("https://gfycat.com/illexcitablehairstreak", {
|
||||||
|
"count": 0,
|
||||||
|
}),
|
||||||
("https://gfycat.com/gifs/detail/UnequaledHastyAnkole"),
|
("https://gfycat.com/gifs/detail/UnequaledHastyAnkole"),
|
||||||
("https://gfycat.com/ifr/UnequaledHastyAnkole"),
|
("https://gfycat.com/ifr/UnequaledHastyAnkole"),
|
||||||
("https://gfycat.com/ru/UnequaledHastyAnkole"),
|
("https://gfycat.com/ru/UnequaledHastyAnkole"),
|
||||||
@@ -132,6 +139,9 @@ class GfycatImageExtractor(GfycatExtractor):
|
|||||||
data = {"_extractor": RedgifsImageExtractor}
|
data = {"_extractor": RedgifsImageExtractor}
|
||||||
yield Message.Queue, url, data
|
yield Message.Queue, url, data
|
||||||
else:
|
else:
|
||||||
|
if "gfyName" not in gfycat:
|
||||||
|
self.log.warning("Skipping '%s' (malformed)", gfycat["gfyId"])
|
||||||
|
return
|
||||||
url = self._select_format(gfycat)
|
url = self._select_format(gfycat)
|
||||||
yield Message.Directory, gfycat
|
yield Message.Directory, gfycat
|
||||||
yield Message.Url, url, gfycat
|
yield Message.Url, url, gfycat
|
||||||
|
|||||||
Reference in New Issue
Block a user