[bunkr] implement fast '--range' support (#6985)

This commit is contained in:
Mike Fährmann
2025-02-14 18:14:21 +01:00
parent 195b52284a
commit cd9fa1ef75
2 changed files with 12 additions and 3 deletions

View File

@@ -10,7 +10,7 @@
from .common import Extractor from .common import Extractor
from .lolisafe import LolisafeAlbumExtractor from .lolisafe import LolisafeAlbumExtractor
from .. import text, config, exception from .. import text, util, config, exception
import random import random
if config.get(("extractor", "bunkr"), "tlds"): if config.get(("extractor", "bunkr"), "tlds"):
@@ -69,6 +69,11 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor):
domain = self.groups[0] or self.groups[1] domain = self.groups[0] or self.groups[1]
if domain not in LEGACY_DOMAINS: if domain not in LEGACY_DOMAINS:
self.root = "https://" + domain self.root = "https://" + domain
self.offset = 0
def skip(self, num):
self.offset = num
return num
def request(self, url, **kwargs): def request(self, url, **kwargs):
kwargs["encoding"] = "utf-8" kwargs["encoding"] = "utf-8"
@@ -133,6 +138,9 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor):
} }
def _extract_files(self, items): def _extract_files(self, items):
if self.offset:
items = util.advance(items, self.offset)
for item in items: for item in items:
try: try:
url = text.unescape(text.extr(item, ' href="', '"')) url = text.unescape(text.extr(item, ' href="', '"'))

View File

@@ -53,7 +53,8 @@ __tests__ = (
"#category": ("lolisafe", "bunkr", "album"), "#category": ("lolisafe", "bunkr", "album"),
"#class" : bunkr.BunkrAlbumExtractor, "#class" : bunkr.BunkrAlbumExtractor,
"#pattern" : r"https://(i-)?meatballs.bunkr.ru/\w+", "#pattern" : r"https://(i-)?meatballs.bunkr.ru/\w+",
"#count" : 7, "#range" : "5-",
"#count" : 3,
}, },
{ {
@@ -253,7 +254,7 @@ __tests__ = (
{ {
"#url" : "https://bunkr.site/f/JEn5iQgYVYJfi", "#url" : "https://bunkr.site/f/JEn5iQgYVYJfi",
"#comment" : "403 error for main 'brg-bk.cdn.gigachad-cdn.ru' URL (#6732 #6972)", "#comment" : "file gone --- 403 error for main 'brg-bk.cdn.gigachad-cdn.ru' URL (#6732 #6972)",
"#category": ("lolisafe", "bunkr", "media"), "#category": ("lolisafe", "bunkr", "media"),
"#class" : bunkr.BunkrMediaExtractor, "#class" : bunkr.BunkrMediaExtractor,
"#urls" : "https://brg-bk.cdn.gigachad-cdn.ru/IMG_47272f2c698d257fd22f4300ae98ec35929b-iEYVkLPQ.jpg?n=IMG_47272f2c698d257fd22f4300ae98ec35929b.jpg", "#urls" : "https://brg-bk.cdn.gigachad-cdn.ru/IMG_47272f2c698d257fd22f4300ae98ec35929b-iEYVkLPQ.jpg?n=IMG_47272f2c698d257fd22f4300ae98ec35929b.jpg",