projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
50d6604
)
[youtube] Fix extraction (closes #20758, closes #20759, closes #20761, closes #20762...
author
Sergey M․
<dstftw@gmail.com>
Wed, 24 Apr 2019 02:58:00 +0000
(09:58 +0700)
committer
Sergey M․
<dstftw@gmail.com>
Wed, 24 Apr 2019 02:58:00 +0000
(09:58 +0700)
youtube_dl/extractor/youtube.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/youtube.py
b/youtube_dl/extractor/youtube.py
index 67eceb5c40858fc924b24a6e4d5e62ba1db70934..1bc2c27adacb40b2cd5e8ff2fb2e56b92eece38b 100644
(file)
--- a/
youtube_dl/extractor/youtube.py
+++ b/
youtube_dl/extractor/youtube.py
@@
-1652,7
+1652,8
@@
class YoutubeIE(YoutubeBaseInfoExtractor):
view_count = extract_view_count(get_video_info)
if not video_info:
video_info = get_video_info
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/ytdl-org/youtube-dl/issues/7362,
# 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/ytdl-org/youtube-dl/issues/7362,
@@
-1662,7
+1663,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.
# 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
video_info = get_video_info
break
@@
-1678,7
+1680,8
@@
class YoutubeIE(YoutubeBaseInfoExtractor):
raise ExtractorError(
'YouTube said: %s' % unavailable_message, expected=True, video_id=video_id)
raise ExtractorError(
'YouTube said: %s' % unavailable_message, expected=True, video_id=video_id)
- 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(
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(