aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/koharu.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2024-09-07 18:33:25 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2024-09-07 18:33:25 -0400
commit05335f2b4f60f6948edc96c71a7ef1c3ca71c9b3 (patch)
tree2c455afb2e2fcd51788500ce8a3455a1ef659b0e /gallery_dl/extractor/koharu.py
parentc45c7a86c313075d1fbd5803e7efdda680b27cd7 (diff)
parent1f3ffe32342852fd9ea9e7704022488f3a1222bd (diff)
Update upstream source from tag 'upstream/1.27.4'
Update to upstream version '1.27.4' with Debian dir 9c7b608ab0b9fa99a0cd692418a8f3965bf3d1c3
Diffstat (limited to 'gallery_dl/extractor/koharu.py')
-rw-r--r--gallery_dl/extractor/koharu.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/gallery_dl/extractor/koharu.py b/gallery_dl/extractor/koharu.py
index 979b1a2..cacf504 100644
--- a/gallery_dl/extractor/koharu.py
+++ b/gallery_dl/extractor/koharu.py
@@ -161,16 +161,29 @@ class KoharuGalleryExtractor(KoharuExtractor, GalleryExtractor):
return results
def _select_format(self, formats):
- if not self.fmt or self.fmt == "original":
- fmtid = "0"
+ fmt = self.fmt
+
+ if not fmt or fmt == "best":
+ fmtids = ("0", "1600", "1280", "980", "780")
+ elif isinstance(fmt, str):
+ fmtids = fmt.split(",")
+ elif isinstance(fmt, list):
+ fmtids = fmt
else:
- fmtid = str(self.fmt)
+ fmtids = (str(self.fmt),)
- try:
- fmt = formats[fmtid]
- except KeyError:
+ for fmtid in fmtids:
+ try:
+ fmt = formats[fmtid]
+ if fmt["id"]:
+ break
+ except KeyError:
+ self.log.debug("%s: Format %s is not available",
+ self.groups[0], fmtid)
+ else:
raise exception.NotFoundError("format")
+ self.log.debug("%s: Selected format %s", self.groups[0], fmtid)
fmt["w"] = fmtid
return fmt