[nhentai] select random file servers for download URLs (#6620)

i1, i2, i3, i4 instead of just i.nhentai.net
This commit is contained in:
Mike Fährmann
2024-12-06 22:12:08 +01:00
parent 7091904b20
commit e1613fc0f4
2 changed files with 17 additions and 12 deletions

View File

@@ -11,6 +11,7 @@
from .common import GalleryExtractor, Extractor, Message
from .. import text, util
import collections
import random
class NhentaiGalleryExtractor(GalleryExtractor):
@@ -59,15 +60,18 @@ class NhentaiGalleryExtractor(GalleryExtractor):
}
def images(self, _):
ufmt = ("https://i.nhentai.net/galleries/" +
self.data["media_id"] + "/{}.{}")
extdict = {"j": "jpg", "p": "png", "g": "gif", "w": "webp"}
exts = {"j": "jpg", "p": "png", "g": "gif", "w": "webp", "a": "avif"}
data = self.data
ufmt = ("https://i{}.nhentai.net/galleries/" +
data["media_id"] + "/{}.{}").format
return [
(ufmt.format(num, extdict.get(img["t"], "jpg")), {
"width": img["w"], "height": img["h"],
(ufmt(random.randint(1, 4), num, exts.get(img["t"], "jpg")), {
"width" : img["w"],
"height": img["h"],
})
for num, img in enumerate(self.data["images"]["pages"], 1)
for num, img in enumerate(data["images"]["pages"], 1)
]