diff options
Diffstat (limited to 'youtube_dl/YoutubeDL.py')
| -rwxr-xr-x | youtube_dl/YoutubeDL.py | 19 | 
1 files changed, 9 insertions, 10 deletions
| diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index ff95add78..8580f99a7 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -119,7 +119,7 @@ class YoutubeDL(object):      username:          Username for authentication purposes.      password:          Password for authentication purposes. -    videopassword:     Password for acces a video. +    videopassword:     Password for accessing a video.      usenetrc:          Use netrc for authentication instead.      verbose:           Print additional info to stdout.      quiet:             Do not print messages to stdout. @@ -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. @@ -627,13 +628,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: @@ -1005,7 +1009,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 @@ -1034,12 +1038,6 @@ class YoutubeDL(object):              info_dict['id'], info_dict.get('subtitles'),              info_dict.get('automatic_captions')) -        # This extractors handle format selection themselves -        if info_dict['extractor'] in ['Youku']: -            if download: -                self.process_info(info_dict) -            return info_dict -          # We now pick which formats have to be downloaded          if info_dict.get('formats') is None:              # There's only one format available @@ -1500,7 +1498,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: | 
