determine_ext,
extract_attributes,
ExtractorError,
+ join_nonempty,
url_or_none,
urlencode_postdata,
urljoin,
kind = self._search_regex(
r'videomaterialurl/\d+/([^/]+)/',
playlist_url, 'media kind', default=None)
- format_id_list = []
- if lang:
- format_id_list.append(lang)
- if kind:
- format_id_list.append(kind)
- if not format_id_list and num is not None:
- format_id_list.append(compat_str(num))
- format_id = '-'.join(format_id_list)
- format_note = ', '.join(filter(None, (kind, lang_note)))
+ format_id = join_nonempty(lang, kind) if lang or kind else str(num)
+ format_note = join_nonempty(kind, lang_note, delim=', ')
item_id_list = []
if format_id:
item_id_list.append(format_id)
if not file_:
continue
ext = determine_ext(file_)
- format_id_list = [lang, kind]
- if ext == 'm3u8':
- format_id_list.append('hls')
- elif source.get('type') == 'video/dash' or ext == 'mpd':
- format_id_list.append('dash')
- format_id = '-'.join(filter(None, format_id_list))
+ format_id = join_nonempty(
+ lang, kind,
+ 'hls' if ext == 'm3u8' else None,
+ 'dash' if source.get('type') == 'video/dash' or ext == 'mpd' else None)
if ext == 'm3u8':
file_formats = self._extract_m3u8_formats(
file_, video_id, 'mp4',