diff options
author | James Taylor <user234683@users.noreply.github.com> | 2019-04-23 23:07:25 -0700 |
---|---|---|
committer | James Taylor <user234683@users.noreply.github.com> | 2019-04-23 23:07:25 -0700 |
commit | ba3b10eddaebdc74594b58d2dfc33514cb71082b (patch) | |
tree | 5b4972e56286937b893f7c00b5ae9a13989f9cd4 /youtube_dl/extractor/youtube.py | |
parent | 0ecf3d08be9206b1067fa37301fb187256dc17ab (diff) | |
download | yt-local-ba3b10eddaebdc74594b58d2dfc33514cb71082b.tar.lz yt-local-ba3b10eddaebdc74594b58d2dfc33514cb71082b.tar.xz yt-local-ba3b10eddaebdc74594b58d2dfc33514cb71082b.zip |
Fix new breakage
Diffstat (limited to 'youtube_dl/extractor/youtube.py')
-rw-r--r-- | youtube_dl/extractor/youtube.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 4fab4e0..52c8731 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1712,7 +1712,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): view_count = extract_view_count(get_video_info) if not video_info: video_info = get_video_info - if 'token' in get_video_info: + get_token = get_video_info.get('token') or get_video_info.get('account_playback_token') + if get_token: # Different get_video_info requests may report different results, e.g. # some may report video unavailability, but some may serve it without # any complaint (see https://github.com/rg3/youtube-dl/issues/7362, @@ -1722,7 +1723,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): # due to YouTube measures against IP ranges of hosting providers. # Working around by preferring the first succeeded video_info containing # the token if no such video_info yet was found. - if 'token' not in video_info: + token = video_info.get('token') or video_info.get('account_playback_token') + if not token: video_info = get_video_info break @@ -1731,7 +1733,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): r'(?s)<h1[^>]+id="unavailable-message"[^>]*>(.+?)</h1>', video_webpage, 'unavailable message', default=None) - if 'token' not in video_info: + token = video_info.get('token') or video_info.get('account_playback_token') + if not token: if 'reason' in video_info: if 'The uploader has not made this video available in your country.' in video_info['reason']: regions_allowed = self._html_search_meta( |