singh-pratyush96
8 years ago
committed by
Sergey M․
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
4 changed files with
27 additions and
5 deletions
-
youtube_dl/YoutubeDL.py
-
youtube_dl/__init__.py
-
youtube_dl/downloader/common.py
-
youtube_dl/options.py
|
|
@ -249,7 +249,11 @@ class YoutubeDL(object): |
|
|
|
source_address: (Experimental) Client-side IP address to bind to. |
|
|
|
call_home: Boolean, true iff we are allowed to contact the |
|
|
|
youtube-dl servers for debugging. |
|
|
|
sleep_interval: Number of seconds to sleep before each download. |
|
|
|
sleep_interval: Minimum number of seconds to sleep before each download. |
|
|
|
Sleep will be for a random interval if --max-sleep-interval is also passed. |
|
|
|
max_sleep_interval:Max number of seconds to sleep before each download. |
|
|
|
Sleep will be for a random interval if passed along with --min-sleep-interval |
|
|
|
or --sleep-interval, otherwise ignored. |
|
|
|
listformats: Print an overview of available video formats and exit. |
|
|
|
list_thumbnails: Print a table of all thumbnails and exit. |
|
|
|
match_filter: A function that gets called with the info_dict of |
|
|
|
|
|
@ -145,6 +145,12 @@ def _real_main(argv=None): |
|
|
|
if numeric_limit is None: |
|
|
|
parser.error('invalid max_filesize specified') |
|
|
|
opts.max_filesize = numeric_limit |
|
|
|
if opts.sleep_interval is not None: |
|
|
|
if opts.sleep_interval < 0: |
|
|
|
parser.error('sleep interval should not be negative') |
|
|
|
elif opts.max_sleep_interval is not None: |
|
|
|
if opts.max_sleep_interval < opts.sleep_interval: |
|
|
|
parser.error('max sleep interval should not be less than sleep interval') |
|
|
|
|
|
|
|
def parse_retries(retries): |
|
|
|
if retries in ('inf', 'infinite'): |
|
|
@ -370,6 +376,7 @@ def _real_main(argv=None): |
|
|
|
'source_address': opts.source_address, |
|
|
|
'call_home': opts.call_home, |
|
|
|
'sleep_interval': opts.sleep_interval, |
|
|
|
'max_sleep_interval': opts.max_sleep_interval, |
|
|
|
'external_downloader': opts.external_downloader, |
|
|
|
'list_thumbnails': opts.list_thumbnails, |
|
|
|
'playlist_items': opts.playlist_items, |
|
|
|
|
|
@ -4,6 +4,7 @@ import os |
|
|
|
import re |
|
|
|
import sys |
|
|
|
import time |
|
|
|
import random |
|
|
|
|
|
|
|
from ..compat import compat_os_name |
|
|
|
from ..utils import ( |
|
|
@ -342,8 +343,10 @@ class FileDownloader(object): |
|
|
|
}) |
|
|
|
return True |
|
|
|
|
|
|
|
sleep_interval = self.params.get('sleep_interval') |
|
|
|
if sleep_interval: |
|
|
|
sleep_lower_bound = self.params.get('sleep_interval') |
|
|
|
if sleep_lower_bound: |
|
|
|
sleep_upper_bound = self.params.get('max_sleep_interval', sleep_lower_bound) |
|
|
|
sleep_interval = random.uniform(sleep_lower_bound, sleep_upper_bound) |
|
|
|
self.to_screen('[download] Sleeping %s seconds...' % sleep_interval) |
|
|
|
time.sleep(sleep_interval) |
|
|
|
|
|
|
|
|
|
@ -499,9 +499,17 @@ def parseOpts(overrideArguments=None): |
|
|
|
dest='bidi_workaround', action='store_true', |
|
|
|
help='Work around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH') |
|
|
|
workarounds.add_option( |
|
|
|
'--sleep-interval', metavar='SECONDS', |
|
|
|
'--sleep-interval', '--min-sleep-interval', metavar='SECONDS', |
|
|
|
dest='sleep_interval', type=float, |
|
|
|
help='Number of seconds to sleep before each download.') |
|
|
|
help='Minimum number of seconds to sleep before each download. Sleep will be for a random interval if ' |
|
|
|
'--max-sleep-interval is also passed.' |
|
|
|
) |
|
|
|
workarounds.add_option( |
|
|
|
'--max-sleep-interval', metavar='SECONDS', |
|
|
|
dest='max_sleep_interval', type=float, |
|
|
|
help='Max number of seconds to sleep before each download. Sleep will be for a random interval if passed' |
|
|
|
' along with --min-sleep-interval or --sleep-interval, otherwise ignored.' |
|
|
|
) |
|
|
|
|
|
|
|
verbosity = optparse.OptionGroup(parser, 'Verbosity / Simulation Options') |
|
|
|
verbosity.add_option( |
|
|
|