Fix Unicode handling GenericIE (Fixes #734)
authorPhilipp Hagemeister <phihag@phihag.de>
Fri, 8 Mar 2013 19:47:06 +0000 (20:47 +0100)
committerPhilipp Hagemeister <phihag@phihag.de>
Fri, 8 Mar 2013 19:47:06 +0000 (20:47 +0100)
test/tests.json
youtube_dl/InfoExtractors.py

index 7af3c289295fc0300aae9310f038723982826bbd..e4ea0b41e724b8f47a5078d79987359554c9ad01 100644 (file)
     "info_dict": {
         "title": "Absolute Mehrheit vom 17.02.2013 - Die Highlights, Teil 2"
     }
+  },
+  {
+    "name": "Generic",
+    "url": "http://www.hodiho.fr/2013/02/regis-plante-sa-jeep.html",
+    "file": "13601338388002.mp4",
+    "md5": "85b90ccc9d73b4acd9138d3af4c27f89"
   }
 ]
index 6b03bf30757f59ba9924e0a5932a94ab762a329a..baba4a9a2fd19df9c61427e2ab1ed10df0c8a552 100755 (executable)
@@ -1281,7 +1281,8 @@ class GenericIE(InfoExtractor):
 
     def report_download_webpage(self, video_id):
         """Report webpage download."""
-        self._downloader.to_screen(u'WARNING: Falling back on generic information extractor.')
+        if not self._downloader.params.get('test', False):
+            self._downloader.to_screen(u'WARNING: Falling back on generic information extractor.')
         self._downloader.to_screen(u'[generic] %s: Downloading webpage' % video_id)
 
     def report_extraction(self, video_id):
@@ -1351,13 +1352,8 @@ class GenericIE(InfoExtractor):
         if self._test_redirect(url): return
 
         video_id = url.split('/')[-1]
-        request = compat_urllib_request.Request(url)
         try:
-            self.report_download_webpage(video_id)
-            webpage = compat_urllib_request.urlopen(request).read()
-        except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
-            self._downloader.trouble(u'ERROR: Unable to retrieve video webpage: %s' % compat_str(err))
-            return
+            webpage = self._download_webpage(url, video_id)
         except ValueError as err:
             # since this is the last-resort InfoExtractor, if
             # this error is thrown, it'll be thrown here