Browse Source

[addanime] improve

Philipp Hagemeister 12 years ago
parent
commit
2eabb80254

+ 1 - 0
youtube_dl/extractor/__init__.py

@@ -1,4 +1,5 @@
 from .appletrailers import AppleTrailersIE
 from .appletrailers import AppleTrailersIE
+from .addanime import AddAnimeIE
 from .archiveorg import ArchiveOrgIE
 from .archiveorg import ArchiveOrgIE
 from .ard import ARDIE
 from .ard import ARDIE
 from .arte import ArteTvIE
 from .arte import ArteTvIE

+ 1 - 1
youtube_dl/extractor/appletrailers.py

@@ -91,7 +91,7 @@ class AppleTrailersIE(InfoExtractor):
                 duration = 60 * int(m.group('minutes')) + int(m.group('seconds'))
                 duration = 60 * int(m.group('minutes')) + int(m.group('seconds'))
 
 
             formats = []
             formats = []
-            for formats_el in li.findall('.//li/a'):
+            for formats_el in li.findall('.//a'):
                 if formats_el.attrib['class'] != 'OverlayPanel':
                 if formats_el.attrib['class'] != 'OverlayPanel':
                     continue
                     continue
                 target = formats_el.attrib['target']
                 target = formats_el.attrib['target']

+ 1 - 1
youtube_dl/extractor/common.py

@@ -129,7 +129,7 @@ class InfoExtractor(object):
         except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
         except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
             if errnote is None:
             if errnote is None:
                 errnote = u'Unable to download webpage'
                 errnote = u'Unable to download webpage'
-            raise ExtractorError(u'%s: %s' % (errnote, compat_str(err)), sys.exc_info()[2])
+            raise ExtractorError(u'%s: %s' % (errnote, compat_str(err)), sys.exc_info()[2], cause=err)
 
 
     def _download_webpage_handle(self, url_or_request, video_id, note=None, errnote=None):
     def _download_webpage_handle(self, url_or_request, video_id, note=None, errnote=None):
         """ Returns a tuple (page content as string, URL handle) """
         """ Returns a tuple (page content as string, URL handle) """

+ 7 - 1
youtube_dl/utils.py

@@ -60,6 +60,11 @@ try:
 except ImportError: # Python 2
 except ImportError: # Python 2
     import httplib as compat_http_client
     import httplib as compat_http_client
 
 
+try:
+    from http.error import HTTPError as compat_HTTPError
+except ImportError:  # Python 2
+    from urllib2 import HTTPError as compat_HTTPError
+
 try:
 try:
     from subprocess import DEVNULL
     from subprocess import DEVNULL
     compat_subprocess_get_DEVNULL = lambda: DEVNULL
     compat_subprocess_get_DEVNULL = lambda: DEVNULL
@@ -489,7 +494,7 @@ def make_HTTPS_handler(opts):
 
 
 class ExtractorError(Exception):
 class ExtractorError(Exception):
     """Error during info extraction."""
     """Error during info extraction."""
-    def __init__(self, msg, tb=None, expected=False):
+    def __init__(self, msg, tb=None, expected=False, cause=None):
         """ tb, if given, is the original traceback (so that it can be printed out).
         """ tb, if given, is the original traceback (so that it can be printed out).
         If expected is set, this is a normal error message and most likely not a bug in youtube-dl.
         If expected is set, this is a normal error message and most likely not a bug in youtube-dl.
         """
         """
@@ -502,6 +507,7 @@ class ExtractorError(Exception):
 
 
         self.traceback = tb
         self.traceback = tb
         self.exc_info = sys.exc_info()  # preserve original exception
         self.exc_info = sys.exc_info()  # preserve original exception
+        self.cause = cause
 
 
     def format_traceback(self):
     def format_traceback(self):
         if self.traceback is None:
         if self.traceback is None: