让开始下载之后就不再反复获取新的下载链接,避免被API限制。 (#340)
* 让开始下载之后就不再反复获取新的下载链接,避免被API限制。 * Update handler.py * Update handler.py * Update handler.py * Update downloader.py
This commit is contained in:
1 parent
5fd3bbfb3e
commit
163c5e040f
2 files changed
+6
-2
No files matched your search
@@ -21,13 +21,16 @@ def download(fname, url, **kwargs):
|
||||
return pg.start()
|
||||
|
||||
|
||||
def check_url(plugin, secs=15):
|
||||
def check_url(plugin, url_status, secs=15):
|
||||
try:
|
||||
if isinstance(plugin, BatchCheckBase):
|
||||
return (yield from plugin.check())
|
||||
for url in plugin.url_list:
|
||||
if plugin(f'检测{url}', url).check_stream():
|
||||
yield url
|
||||
if url_status[url] == 1:
|
||||
logger.debug(f'{url}正在下载中,已跳过检测')
|
||||
continue
|
||||
if url != plugin.url_list[-1]:
|
||||
logger.debug('歇息会')
|
||||
time.sleep(secs)
|
||||
|
||||
+2
-1
@@ -78,7 +78,7 @@ class KernelFunc:
|
||||
def singleton_check(self, platform):
|
||||
plugin = self.checker[platform]
|
||||
wait = config.get('checker_sleep') if config.get('checker_sleep') else 15
|
||||
for url in check_url(plugin, secs=wait):
|
||||
for url in check_url(plugin, self.url_status, secs=wait):
|
||||
yield Event(TO_MODIFY, args=(url,))
|
||||
|
||||
@event_manager.register(TO_MODIFY)
|
||||
@@ -90,6 +90,7 @@ class KernelFunc:
|
||||
if self.url_status[url] == 2:
|
||||
return logger.debug('正在上传稍后下载')
|
||||
name = self.inverted_index[url]
|
||||
|
||||
if config['streamers'].get(name, {}).get('preprocessor', None):
|
||||
preprocessor(config['streamers'].get(name, {}).get('preprocessor'))
|
||||
logger.debug(f'{name}刚刚开播,去下载')
|
||||
|
||||
Reference in new issue
Block a user