[wikimedia] restrict default 'format' to fandom/wikigg (#5512)

eefd8f9c00 (commitcomment-168635597)
This commit is contained in:
Mike Fährmann
2025-10-23 20:56:34 +02:00
parent 5e1862871e
commit 68909724e7
3 changed files with 16 additions and 3 deletions

View File

@@ -6652,7 +6652,10 @@ extractor.wikimedia.format
Type Type
``string`` ``string``
Default Default
``"original"`` ``fandom`` | ``wikigg``
``"original"``
otherwise
``""``
Description Description
Sets the `format` query parameter value Sets the `format` query parameter value
added to all download URLs. added to all download URLs.

View File

@@ -1129,11 +1129,19 @@
"wikimedia": "wikimedia":
{ {
"sleep-request": "1.0-2.0", "sleep-request": "1.0-2.0",
"format": "original", "format": "",
"image-revisions": 1, "image-revisions": 1,
"limit": 50, "limit": 50,
"subcategories": true "subcategories": true
}, },
"fandom":
{
"format": "original"
},
"wikigg":
{
"format": "original"
},
"booru": "booru":
{ {

View File

@@ -24,12 +24,14 @@ class WikimediaExtractor(BaseExtractor):
def __init__(self, match): def __init__(self, match):
self._init_category(match) self._init_category(match)
self.format = False
if self.category == "wikimedia": if self.category == "wikimedia":
labels = self.root.split(".") labels = self.root.split(".")
self.lang = labels[-3][-2:] self.lang = labels[-3][-2:]
self.category = labels[-2] self.category = labels[-2]
elif self.category in ("fandom", "wikigg"): elif self.category in ("fandom", "wikigg"):
self.lang = "en" self.lang = "en"
self.format = "original"
self.basesubcategory = self.category self.basesubcategory = self.category
self.category = ( self.category = (
f"{self.category}-" f"{self.category}-"
@@ -56,7 +58,7 @@ class WikimediaExtractor(BaseExtractor):
# https://www.mediawiki.org/wiki/API:Revisions # https://www.mediawiki.org/wiki/API:Revisions
# https://www.mediawiki.org/wiki/API:Imageinfo # https://www.mediawiki.org/wiki/API:Imageinfo
self.image_revisions = self.config("image-revisions", 1) self.image_revisions = self.config("image-revisions", 1)
self.format = self.config("format", "original") self.format = self.config("format", self.format)
self.per_page = self.config("limit", 50) self.per_page = self.config("limit", 50)
self.subcategories = False self.subcategories = False