[e621] fix applying request_interval_min (#2533)
Setting this property after calling Extractor.__init__() has no effect.
This commit is contained in:
@@ -603,18 +603,21 @@ class BaseExtractor(Extractor):
|
|||||||
|
|
||||||
def __init__(self, match):
|
def __init__(self, match):
|
||||||
if not self.category:
|
if not self.category:
|
||||||
for index, group in enumerate(match.groups()):
|
self._init_category(match)
|
||||||
if group is not None:
|
|
||||||
if index:
|
|
||||||
self.category, self.root = self.instances[index-1]
|
|
||||||
if not self.root:
|
|
||||||
self.root = text.root_from_url(match.group(0))
|
|
||||||
else:
|
|
||||||
self.root = group
|
|
||||||
self.category = group.partition("://")[2]
|
|
||||||
break
|
|
||||||
Extractor.__init__(self, match)
|
Extractor.__init__(self, match)
|
||||||
|
|
||||||
|
def _init_category(self, match):
|
||||||
|
for index, group in enumerate(match.groups()):
|
||||||
|
if group is not None:
|
||||||
|
if index:
|
||||||
|
self.category, self.root = self.instances[index-1]
|
||||||
|
if not self.root:
|
||||||
|
self.root = text.root_from_url(match.group(0))
|
||||||
|
else:
|
||||||
|
self.root = group
|
||||||
|
self.category = group.partition("://")[2]
|
||||||
|
break
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def update(cls, instances):
|
def update(cls, instances):
|
||||||
extra_instances = config.get(("extractor",), cls.basecategory)
|
extra_instances = config.get(("extractor",), cls.basecategory)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
"""Extractors for https://danbooru.donmai.us/ and other Danbooru instances"""
|
"""Extractors for https://danbooru.donmai.us/ and other Danbooru instances"""
|
||||||
|
|
||||||
from .common import BaseExtractor, Message
|
from .common import BaseExtractor, Message
|
||||||
|
from ..version import __version__
|
||||||
from .. import text
|
from .. import text
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
@@ -22,16 +23,7 @@ class DanbooruExtractor(BaseExtractor):
|
|||||||
per_page = 200
|
per_page = 200
|
||||||
|
|
||||||
def __init__(self, match):
|
def __init__(self, match):
|
||||||
BaseExtractor.__init__(self, match)
|
self._init_category(match)
|
||||||
|
|
||||||
self.ugoira = self.config("ugoira", False)
|
|
||||||
self.external = self.config("external", False)
|
|
||||||
self.extended_metadata = self.config("metadata", False)
|
|
||||||
|
|
||||||
username, api_key = self._get_auth_info()
|
|
||||||
if username:
|
|
||||||
self.log.debug("Using HTTP Basic Auth for user '%s'", username)
|
|
||||||
self.session.auth = (username, api_key)
|
|
||||||
|
|
||||||
instance = INSTANCES.get(self.category) or {}
|
instance = INSTANCES.get(self.category) or {}
|
||||||
iget = instance.get
|
iget = instance.get
|
||||||
@@ -43,6 +35,17 @@ class DanbooruExtractor(BaseExtractor):
|
|||||||
self.request_interval_min = iget("request-interval-min", 0.0)
|
self.request_interval_min = iget("request-interval-min", 0.0)
|
||||||
self._pools = iget("pools")
|
self._pools = iget("pools")
|
||||||
|
|
||||||
|
BaseExtractor.__init__(self, match)
|
||||||
|
|
||||||
|
self.ugoira = self.config("ugoira", False)
|
||||||
|
self.external = self.config("external", False)
|
||||||
|
self.extended_metadata = self.config("metadata", False)
|
||||||
|
|
||||||
|
username, api_key = self._get_auth_info()
|
||||||
|
if username:
|
||||||
|
self.log.debug("Using HTTP Basic Auth for user '%s'", username)
|
||||||
|
self.session.auth = (username, api_key)
|
||||||
|
|
||||||
def request(self, url, **kwargs):
|
def request(self, url, **kwargs):
|
||||||
kwargs["headers"] = self.headers
|
kwargs["headers"] = self.headers
|
||||||
return BaseExtractor.request(self, url, **kwargs)
|
return BaseExtractor.request(self, url, **kwargs)
|
||||||
@@ -144,7 +147,8 @@ INSTANCES = {
|
|||||||
"e621": {
|
"e621": {
|
||||||
"root": None,
|
"root": None,
|
||||||
"pattern": r"e(?:621|926)\.net",
|
"pattern": r"e(?:621|926)\.net",
|
||||||
"headers": {"User-Agent": "gallery-dl/1.14.0 (by mikf)"},
|
"headers": {"User-Agent": "gallery-dl/{} (by mikf)".format(
|
||||||
|
__version__)},
|
||||||
"pools": "sort",
|
"pools": "sort",
|
||||||
"page-limit": 750,
|
"page-limit": 750,
|
||||||
"per-page": 320,
|
"per-page": 320,
|
||||||
|
|||||||
Reference in New Issue
Block a user