diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-07-24 20:14:55 +0200 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-07-24 20:14:55 +0200 | 
| commit | 771822ebb85641359d4983137720446761d80bc5 (patch) | |
| tree | ea076dea04f2e4cdc8ed4877df818c4f1d1fbaa0 | |
| parent | eb6a41ba0f5dbb836d5b48b9e38f406c3c46c0ec (diff) | |
YoutubePlaylistIE: break only if there's no entry field in the response
Otherwise the Favorite videos playlist cannot be downloaded complete.
Also break if it reach the maximum value of the start-index.
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 9d3f61be6..a16836c69 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -696,7 +696,11 @@ class YoutubePlaylistIE(InfoExtractor):          videos = []          while True: -            url = self._TEMPLATE_URL % (playlist_id, self._MAX_RESULTS, self._MAX_RESULTS * (page_num - 1) + 1) +            start_index = self._MAX_RESULTS * (page_num - 1) + 1 +            if start_index >= 1000: +                self._downloader.report_warning(u'Max number of results reached') +                break +            url = self._TEMPLATE_URL % (playlist_id, self._MAX_RESULTS, start_index)              page = self._download_webpage(url, playlist_id, u'Downloading page #%s' % page_num)              try: @@ -715,9 +719,6 @@ class YoutubePlaylistIE(InfoExtractor):                  index = entry['yt$position']['$t']                  if 'media$group' in entry and 'media$player' in entry['media$group']:                      videos.append((index, entry['media$group']['media$player']['url'])) - -            if len(response['feed']['entry']) < self._MAX_RESULTS: -                break              page_num += 1          videos = [v[1] for v in sorted(videos)] | 
