Add more checks for --min/max-sleep-interval arguments and use more idiomatic naming
authorSergey M․ <dstftw@gmail.com>
Mon, 8 Aug 2016 20:47:56 +0000 (03:47 +0700)
committerSergey M․ <dstftw@gmail.com>
Mon, 8 Aug 2016 20:47:56 +0000 (03:47 +0700)
youtube_dl/__init__.py
youtube_dl/downloader/common.py

index 86af18d3330b640f131a9584e050a441739d0aa5..a9730292cd6801c1bbd7f68b586e288bad7fe21d 100644 (file)
@@ -147,10 +147,14 @@ def _real_main(argv=None):
         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')
+            parser.error('sleep interval must be positive or 0')
+    if opts.max_sleep_interval is not None:
+        if opts.max_sleep_interval < 0:
+            parser.error('max sleep interval must be positive or 0')
+        if opts.max_sleep_interval < opts.sleep_interval:
+            parser.error('max sleep interval must be greater than or equal to min sleep interval')
+    else:
+        opts.max_sleep_interval = opts.sleep_interval
 
     def parse_retries(retries):
         if retries in ('inf', 'infinite'):
index 8e377c72cda5cea522ced8c158c9d186a329b109..8482cbd8423dae254db7efff873588cd8fb10b8a 100644 (file)
@@ -343,10 +343,11 @@ class FileDownloader(object):
             })
             return True
 
-        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)
+        min_sleep_interval = self.params.get('sleep_interval')
+        if min_sleep_interval:
+            max_sleep_interval = self.params.get('max_sleep_interval', min_sleep_interval)
+            print(min_sleep_interval, max_sleep_interval)
+            sleep_interval = random.uniform(min_sleep_interval, max_sleep_interval)
             self.to_screen('[download] Sleeping %s seconds...' % sleep_interval)
             time.sleep(sleep_interval)