Redo fix for failure mode 1 in issue #22

Previous fix didn't work. Should work now. The non-embedded player
response can still be present but the urls will be missing.
This commit is contained in:
James Taylor 2020-10-21 22:42:07 -07:00
parent d3230e8daf
commit f8b6db1480
2 changed files with 6 additions and 6 deletions

View File

@ -226,9 +226,9 @@ def extract_info(video_id, use_invidious, playlist_id=None, index=None):
return {'error': 'Failed to parse json response'}
info = yt_data_extract.extract_watch_info(polymer_json)
# request player if it's missing
# request player urls if it's missing
# see https://github.com/user234683/youtube-local/issues/22#issuecomment-706395160
if info['age_restricted'] or info['player_response_missing']:
if info['age_restricted'] or info['player_urls_missing']:
if info['age_restricted']:
print('Age restricted video. Fetching get_video_info page')
else:

View File

@ -478,10 +478,6 @@ def extract_watch_info(polymer_json):
else:
embedded_player_response = {}
# see https://github.com/user234683/youtube-local/issues/22#issuecomment-706395160
info['player_response_missing'] = not (
player_response or embedded_player_response)
# captions
info['automatic_caption_languages'] = []
info['manual_caption_languages'] = []
@ -514,6 +510,10 @@ def extract_watch_info(polymer_json):
if not info['formats']:
_extract_formats(info, player_response)
# see https://github.com/user234683/youtube-local/issues/22#issuecomment-706395160
info['player_urls_missing'] = (
not info['formats'] and not embedded_player_response)
# playability errors
_extract_playability_error(info, player_response)