summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/wikimedia.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/wikimedia.py')
-rw-r--r--gallery_dl/extractor/wikimedia.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/gallery_dl/extractor/wikimedia.py b/gallery_dl/extractor/wikimedia.py
index ac00682..9370cfb 100644
--- a/gallery_dl/extractor/wikimedia.py
+++ b/gallery_dl/extractor/wikimedia.py
@@ -27,9 +27,9 @@ class WikimediaExtractor(BaseExtractor):
if self.category == "wikimedia":
self.category = self.root.split(".")[-2]
- elif self.category == "fandom":
- self.category = \
- "fandom-" + self.root.partition(".")[0].rpartition("/")[2]
+ elif self.category in ("fandom", "wikigg"):
+ self.category = "{}-{}".format(
+ self.category, self.root.partition(".")[0].rpartition("/")[2])
if path.startswith("wiki/"):
path = path[5:]
@@ -69,14 +69,18 @@ class WikimediaExtractor(BaseExtractor):
def items(self):
for info in self._pagination(self.params):
- image = info["imageinfo"][0]
+ try:
+ image = info["imageinfo"][0]
+ except LookupError:
+ self.log.debug("Missing 'imageinfo' for %s", info)
+ continue
image["metadata"] = {
m["name"]: m["value"]
- for m in image["metadata"]}
+ for m in image["metadata"] or ()}
image["commonmetadata"] = {
m["name"]: m["value"]
- for m in image["commonmetadata"]}
+ for m in image["commonmetadata"] or ()}
filename = image["canonicaltitle"]
image["filename"], _, image["extension"] = \
@@ -148,6 +152,10 @@ BASE_PATTERN = WikimediaExtractor.update({
"root": None,
"pattern": r"[\w-]+\.fandom\.com",
},
+ "wikigg": {
+ "root": None,
+ "pattern": r"\w+\.wiki\.gg",
+ },
"mariowiki": {
"root": "https://www.mariowiki.com",
"pattern": r"(?:www\.)?mariowiki\.com",