[common] Add new parameters for _download_webpage
authorTithen-Firion <Tithen-Firion@users.noreply.github.com>
Thu, 4 Dec 2014 13:11:27 +0000 (14:11 +0100)
committerTithen-Firion <Tithen-Firion@users.noreply.github.com>
Thu, 4 Dec 2014 13:16:09 +0000 (14:16 +0100)
youtube_dl/extractor/common.py

index e80a2dad0b2e12c5e9d14a486feb0b600de66823..b633ea9b92a03be0064ee096cc5fdbe18997e8e7 100644 (file)
@@ -360,9 +360,19 @@ class InfoExtractor(object):
 
         return content
 
-    def _download_webpage(self, url_or_request, video_id, note=None, errnote=None, fatal=True):
+    def _download_webpage(self, url_or_request, video_id, note=None, errnote=None, fatal=True, tries=1, timeout=5):
         """ Returns the data of the page as a string """
-        res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal)
+        success = False
+        try_count = 0
+        while success is False:
+            try:
+                res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal)
+                success = True
+            except compat_http_client.IncompleteRead as e:
+                try_count += 1
+                if try_count >= tries:
+                    raise e
+                self._sleep(timeout, video_id)
         if res is False:
             return res
         else: