[bunkr] implement fast '--range' support (#6985)
This commit is contained in:
@@ -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="', '"'))
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user