Add --max-sleep-interval (Closes #9930)
[youtube-dl] / youtube_dl / YoutubeDL.py
index cf9cd82975a6ff5b703cbb9f9d75bdf659b38091..82b77783d27e496e04c0c743e56b750cd824e12d 100755 (executable)
@@ -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
@@ -1396,12 +1400,11 @@ class YoutubeDL(object):
         # instead of just formats.
         # This fixes incorrect format selection issue (see
         # https://github.com/rg3/youtube-dl/issues/10083).
-        incomplete_formats = all(
+        incomplete_formats = (
             # All formats are video-only or
-            f.get('vcodec') != 'none' and f.get('acodec') == 'none' or
+            all(f.get('vcodec') != 'none' and f.get('acodec') == 'none' for f in formats) or
             # all formats are audio-only
-            f.get('vcodec') == 'none' and f.get('acodec') != 'none'
-            for f in formats)
+            all(f.get('vcodec') == 'none' and f.get('acodec') != 'none' for f in formats))
 
         ctx = {
             'formats': formats,