[bunkr] implement fast '--range' support (#6985)
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
from .common import Extractor
|
||||
from .lolisafe import LolisafeAlbumExtractor
|
||||
from .. import text, config, exception
|
||||
from .. import text, util, config, exception
|
||||
import random
|
||||
|
||||
if config.get(("extractor", "bunkr"), "tlds"):
|
||||
@@ -69,6 +69,11 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor):
|
||||
domain = self.groups[0] or self.groups[1]
|
||||
if domain not in LEGACY_DOMAINS:
|
||||
self.root = "https://" + domain
|
||||
self.offset = 0
|
||||
|
||||
def skip(self, num):
|
||||
self.offset = num
|
||||
return num
|
||||
|
||||
def request(self, url, **kwargs):
|
||||
kwargs["encoding"] = "utf-8"
|
||||
@@ -133,6 +138,9 @@ class BunkrAlbumExtractor(LolisafeAlbumExtractor):
|
||||
}
|
||||
|
||||
def _extract_files(self, items):
|
||||
if self.offset:
|
||||
items = util.advance(items, self.offset)
|
||||
|
||||
for item in items:
|
||||
try:
|
||||
url = text.unescape(text.extr(item, ' href="', '"'))
|
||||
|
||||
@@ -53,7 +53,8 @@ __tests__ = (
|
||||
"#category": ("lolisafe", "bunkr", "album"),
|
||||
"#class" : bunkr.BunkrAlbumExtractor,
|
||||
"#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",
|
||||
"#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"),
|
||||
"#class" : bunkr.BunkrMediaExtractor,
|
||||
"#urls" : "https://brg-bk.cdn.gigachad-cdn.ru/IMG_47272f2c698d257fd22f4300ae98ec35929b-iEYVkLPQ.jpg?n=IMG_47272f2c698d257fd22f4300ae98ec35929b.jpg",
|
||||
|
||||
Reference in New Issue
Block a user