mirror of https://github.com/yt-dlp/yt-dlp.git
Added --sleep-interval option
This commit is contained in:
parent
493987fefe
commit
03359e9864
|
@ -351,6 +351,8 @@ def parseOpts(overrideArguments=None):
|
||||||
|
|
||||||
downloader.add_option('-r', '--rate-limit',
|
downloader.add_option('-r', '--rate-limit',
|
||||||
dest='ratelimit', metavar='LIMIT', help='maximum download rate in bytes per second (e.g. 50K or 4.2M)')
|
dest='ratelimit', metavar='LIMIT', help='maximum download rate in bytes per second (e.g. 50K or 4.2M)')
|
||||||
|
downloader.add_option('--sleep-interval',
|
||||||
|
dest='sleepinterval', metavar='SLEEPINTERVAL', help='number of seconds to sleep between downloads (default is %default)', default="0")
|
||||||
downloader.add_option('-R', '--retries',
|
downloader.add_option('-R', '--retries',
|
||||||
dest='retries', metavar='RETRIES', help='number of retries (default is %default)', default=10)
|
dest='retries', metavar='RETRIES', help='number of retries (default is %default)', default=10)
|
||||||
downloader.add_option('--buffer-size',
|
downloader.add_option('--buffer-size',
|
||||||
|
@ -671,6 +673,11 @@ def _real_main(argv=None):
|
||||||
if numeric_limit is None:
|
if numeric_limit is None:
|
||||||
parser.error(u'invalid rate limit specified')
|
parser.error(u'invalid rate limit specified')
|
||||||
opts.ratelimit = numeric_limit
|
opts.ratelimit = numeric_limit
|
||||||
|
if opts.sleepinterval is not None:
|
||||||
|
try:
|
||||||
|
opts.sleepinterval = abs(int(opts.sleepinterval))
|
||||||
|
except ValueError:
|
||||||
|
parser.error(u'invalid sleep interval specified')
|
||||||
if opts.min_filesize is not None:
|
if opts.min_filesize is not None:
|
||||||
numeric_limit = FileDownloader.parse_bytes(opts.min_filesize)
|
numeric_limit = FileDownloader.parse_bytes(opts.min_filesize)
|
||||||
if numeric_limit is None:
|
if numeric_limit is None:
|
||||||
|
@ -767,6 +774,7 @@ def _real_main(argv=None):
|
||||||
'restrictfilenames': opts.restrictfilenames,
|
'restrictfilenames': opts.restrictfilenames,
|
||||||
'ignoreerrors': opts.ignoreerrors,
|
'ignoreerrors': opts.ignoreerrors,
|
||||||
'ratelimit': opts.ratelimit,
|
'ratelimit': opts.ratelimit,
|
||||||
|
'sleepinterval': opts.sleepinterval,
|
||||||
'nooverwrites': opts.nooverwrites,
|
'nooverwrites': opts.nooverwrites,
|
||||||
'retries': opts.retries,
|
'retries': opts.retries,
|
||||||
'buffersize': opts.buffersize,
|
'buffersize': opts.buffersize,
|
||||||
|
|
|
@ -278,6 +278,9 @@ class FileDownloader(object):
|
||||||
"""Download to a filename using the info from info_dict
|
"""Download to a filename using the info from info_dict
|
||||||
Return True on success and False otherwise
|
Return True on success and False otherwise
|
||||||
"""
|
"""
|
||||||
|
sleep_interval = self.params.get('sleepinterval', 0)
|
||||||
|
self.to_screen(u'[download] Sleeping %d seconds...' %sleep_interval)
|
||||||
|
time.sleep(sleep_interval)
|
||||||
# Check file already present
|
# Check file already present
|
||||||
if self.params.get('continuedl', False) and os.path.isfile(encodeFilename(filename)) and not self.params.get('nopart', False):
|
if self.params.get('continuedl', False) and os.path.isfile(encodeFilename(filename)) and not self.params.get('nopart', False):
|
||||||
self.report_file_already_downloaded(filename)
|
self.report_file_already_downloaded(filename)
|
||||||
|
|
|
@ -6,6 +6,7 @@ import codecs
|
||||||
import contextlib
|
import contextlib
|
||||||
import ctypes
|
import ctypes
|
||||||
import datetime
|
import datetime
|
||||||
|
import time
|
||||||
import email.utils
|
import email.utils
|
||||||
import errno
|
import errno
|
||||||
import getpass
|
import getpass
|
||||||
|
@ -747,6 +748,8 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
|
||||||
del req.headers['User-agent']
|
del req.headers['User-agent']
|
||||||
req.headers['User-agent'] = req.headers['Youtubedl-user-agent']
|
req.headers['User-agent'] = req.headers['Youtubedl-user-agent']
|
||||||
del req.headers['Youtubedl-user-agent']
|
del req.headers['Youtubedl-user-agent']
|
||||||
|
#print("sleeping\n")
|
||||||
|
#time.sleep(1)
|
||||||
return req
|
return req
|
||||||
|
|
||||||
def http_response(self, req, resp):
|
def http_response(self, req, resp):
|
||||||
|
|
Loading…
Reference in New Issue