Source code for flexget.plugins.operate.domain_delay
from loguru import logger
from flexget import plugin
from flexget.event import event
from flexget.utils.requests import TimedLimiter
logger = logger.bind(name='domain_delay')
[docs]
class DomainDelay:
"""Sets a minimum interval between requests to specific domains.
Example::
domain_delay:
mysite.com: 5 seconds
"""
schema = {'type': 'object', 'additionalProperties': {'type': 'string', 'format': 'interval'}}
[docs]
def on_task_start(self, task, config):
for domain, delay in config.items():
logger.debug('Adding minimum interval of {} between requests to {}', delay, domain)
task.requests.add_domain_limiter(TimedLimiter(domain, delay), replace=True)
[docs]
@event('plugin.register')
def register_plugin():
plugin.register(DomainDelay, 'domain_delay', api_ver=2)