diff options
| author | 2024-09-07 18:33:25 -0400 | |
|---|---|---|
| committer | 2024-09-07 18:33:25 -0400 | |
| commit | 05335f2b4f60f6948edc96c71a7ef1c3ca71c9b3 (patch) | |
| tree | 2c455afb2e2fcd51788500ce8a3455a1ef659b0e /gallery_dl/extractor/koharu.py | |
| parent | c45c7a86c313075d1fbd5803e7efdda680b27cd7 (diff) | |
| parent | 1f3ffe32342852fd9ea9e7704022488f3a1222bd (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.py | 25 |
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 |
