diff options
Diffstat (limited to 'youtube_dl/YoutubeDL.py')
| -rwxr-xr-x | youtube_dl/YoutubeDL.py | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 6e4b6f566..411de9ac9 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -139,6 +139,7 @@ class YoutubeDL(object):      outtmpl:           Template for output names.      restrictfilenames: Do not allow "&" and spaces in file names      ignoreerrors:      Do not stop on download errors. +    force_generic_extractor: Force downloader to use the generic extractor      nooverwrites:      Prevent overwriting files.      playliststart:     Playlist item to start at.      playlistend:       Playlist item to end at. @@ -626,13 +627,16 @@ class YoutubeDL(object):              info_dict.setdefault(key, value)      def extract_info(self, url, download=True, ie_key=None, extra_info={}, -                     process=True): +                     process=True, force_generic_extractor=False):          '''          Returns a list with a dictionary for each video we find.          If 'download', also downloads the videos.          extra_info is a dict containing the extra values to add to each result          ''' +        if not ie_key and force_generic_extractor: +            ie_key = 'Generic' +          if ie_key:              ies = [self.get_info_extractor(ie_key)]          else: @@ -1004,7 +1008,7 @@ class YoutubeDL(object):                  t.get('preference'), t.get('width'), t.get('height'),                  t.get('id'), t.get('url')))              for i, t in enumerate(thumbnails): -                if 'width' in t and 'height' in t: +                if t.get('width') and t.get('height'):                      t['resolution'] = '%dx%d' % (t['width'], t['height'])                  if t.get('id') is None:                      t['id'] = '%d' % i @@ -1493,7 +1497,8 @@ class YoutubeDL(object):          for url in url_list:              try:                  # It also downloads the videos -                res = self.extract_info(url) +                res = self.extract_info( +                    url, force_generic_extractor=self.params.get('force_generic_extractor', False))              except UnavailableVideoError:                  self.report_error('unable to download video')              except MaxDownloadsReached:  | 
