diff options
Diffstat (limited to 'youtube_dl/extractor/youtube.py')
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index f49665925..23a8097c5 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -139,7 +139,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):                       (                           (?:https?://)?                                       # http(s):// (optional)                           (?:(?:(?:(?:\w+\.)?youtube(?:-nocookie)?\.com/| -                            tube\.majestyc\.net/)                             # the various hostnames, with wildcard subdomains +                            tube\.majestyc\.net/| +                            youtube\.googleapis\.com/)                        # the various hostnames, with wildcard subdomains                           (?:.*?\#/)?                                          # handle anchor (#/) redirect urls                           (?:                                                  # the various things that can precede the ID:                               (?:(?:v|embed|e)/)                               # v/ or embed/ or e/ @@ -428,7 +429,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):          elif len(s) == 86:              return s[5:34] + s[0] + s[35:38] + s[3] + s[39:45] + s[38] + s[46:53] + s[73] + s[54:73] + s[85] + s[74:85] + s[53]          elif len(s) == 85: -            return s[40] + s[82:43:-1] + s[22] + s[42:40:-1] + s[83] + s[39:22:-1] + s[0] + s[21:2:-1] +            return s[3:11] + s[0] + s[12:55] + s[84] + s[56:84]          elif len(s) == 84:              return s[81:36:-1] + s[0] + s[35:2:-1]          elif len(s) == 83: @@ -782,10 +783,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):                          if self._downloader.params.get('verbose'):                              s = url_data['s'][0]                              if age_gate: -                                player_version = self._search_regex(r'ad3-(.+?)\.swf', -                                    video_info['ad3_module'][0] if 'ad3_module' in video_info else 'NOT FOUND', -                                    'flash player', fatal=False) -                                player = 'flash player %s' % player_version +                                player = 'flash player'                              else:                                  player = u'html5 player %s' % self._search_regex(r'html5player-(.+?)\.js', video_webpage,                                      'html5 player', fatal=False) @@ -1007,6 +1005,9 @@ class YoutubeUserIE(InfoExtractor):                  response = json.loads(page)              except ValueError as err:                  raise ExtractorError(u'Invalid JSON in API response: ' + compat_str(err)) +            if 'entry' not in response['feed']: +                # Number of videos is a multiple of self._MAX_RESULTS +                break              # Extract video identifiers              ids_in_page = [] | 
