lambda x: x['captions']['playerCaptionsTracklistRenderer'], dict)
subtitles = {}
if pctr:
- def process_language(container, base_url, lang_code, query):
+ def process_language(container, base_url, lang_code, sub_name, query):
lang_subs = container.setdefault(lang_code, [])
for fmt in self._SUBTITLE_FORMATS:
query.update({
lang_subs.append({
'ext': fmt,
'url': update_url_query(base_url, query),
+ 'name': sub_name,
})
for caption_track in (pctr.get('captionTracks') or []):
if not lang_code:
continue
process_language(
- subtitles, base_url, lang_code, {})
+ subtitles, base_url, lang_code,
+ try_get(caption_track, lambda x: x.get('name').get('simpleText')),
+ {})
continue
automatic_captions = {}
for translation_language in (pctr.get('translationLanguages') or []):
continue
process_language(
automatic_captions, base_url, translation_language_code,
+ try_get(translation_language, lambda x: x['languageName']['simpleText']),
{'tlang': translation_language_code})
info['automatic_captions'] = automatic_captions
info['subtitles'] = subtitles