[ccc] Add language information to formats
parent
190ef07981
commit
32f9036447
|
@ -1791,6 +1791,10 @@ class YoutubeDL(object):
|
||||||
res = ''
|
res = ''
|
||||||
if fdict.get('ext') in ['f4f', 'f4m']:
|
if fdict.get('ext') in ['f4f', 'f4m']:
|
||||||
res += '(unsupported) '
|
res += '(unsupported) '
|
||||||
|
if fdict.get('language'):
|
||||||
|
if res:
|
||||||
|
res += ' '
|
||||||
|
res += '[%s]' % fdict['language']
|
||||||
if fdict.get('format_note') is not None:
|
if fdict.get('format_note') is not None:
|
||||||
res += fdict['format_note'] + ' '
|
res += fdict['format_note'] + ' '
|
||||||
if fdict.get('tbr') is not None:
|
if fdict.get('tbr') is not None:
|
||||||
|
|
|
@ -58,11 +58,12 @@ class CCCIE(InfoExtractor):
|
||||||
webpage, 'duration', fatal=False, group='duration'))
|
webpage, 'duration', fatal=False, group='duration'))
|
||||||
|
|
||||||
matches = re.finditer(r'''(?xs)
|
matches = re.finditer(r'''(?xs)
|
||||||
<(?:span|div)\s+class='label\s+filetype'>(?P<format>.*?)</(?:span|div)>\s*
|
<(?:span|div)\s+class='label\s+filetype'>(?P<format>[^<]*)</(?:span|div)>\s*
|
||||||
|
<(?:span|div)\s+class='label\s+filetype'>(?P<lang>[^<]*)</(?:span|div)>\s*
|
||||||
<a\s+download\s+href='(?P<http_url>[^']+)'>\s*
|
<a\s+download\s+href='(?P<http_url>[^']+)'>\s*
|
||||||
(?:
|
(?:
|
||||||
.*?
|
.*?
|
||||||
<a\s+href='(?P<torrent_url>[^']+\.torrent)'
|
<a\s+(?:download\s+)?href='(?P<torrent_url>[^']+\.torrent)'
|
||||||
)?''', webpage)
|
)?''', webpage)
|
||||||
formats = []
|
formats = []
|
||||||
for m in matches:
|
for m in matches:
|
||||||
|
@ -70,12 +71,15 @@ class CCCIE(InfoExtractor):
|
||||||
format_id = self._search_regex(
|
format_id = self._search_regex(
|
||||||
r'.*/([a-z0-9_-]+)/[^/]*$',
|
r'.*/([a-z0-9_-]+)/[^/]*$',
|
||||||
m.group('http_url'), 'format id', default=None)
|
m.group('http_url'), 'format id', default=None)
|
||||||
|
if format_id:
|
||||||
|
format_id = m.group('lang') + '-' + format_id
|
||||||
vcodec = 'h264' if 'h264' in format_id else (
|
vcodec = 'h264' if 'h264' in format_id else (
|
||||||
'none' if format_id in ('mp3', 'opus') else None
|
'none' if format_id in ('mp3', 'opus') else None
|
||||||
)
|
)
|
||||||
formats.append({
|
formats.append({
|
||||||
'format_id': format_id,
|
'format_id': format_id,
|
||||||
'format': format,
|
'format': format,
|
||||||
|
'language': m.group('lang'),
|
||||||
'url': m.group('http_url'),
|
'url': m.group('http_url'),
|
||||||
'vcodec': vcodec,
|
'vcodec': vcodec,
|
||||||
'preference': preference(format_id),
|
'preference': preference(format_id),
|
||||||
|
|
|
@ -108,8 +108,9 @@ class InfoExtractor(object):
|
||||||
-2 or smaller for less than default.
|
-2 or smaller for less than default.
|
||||||
< -1000 to hide the format (if there is
|
< -1000 to hide the format (if there is
|
||||||
another one which is strictly better)
|
another one which is strictly better)
|
||||||
* language_preference Is this in the correct requested
|
* language Language code, e.g. "de" or "en-US".
|
||||||
language?
|
* language_preference Is this in the language mentioned in
|
||||||
|
the URL?
|
||||||
10 if it's what the URL is about,
|
10 if it's what the URL is about,
|
||||||
-1 for default (don't know),
|
-1 for default (don't know),
|
||||||
-10 otherwise, other values reserved for now.
|
-10 otherwise, other values reserved for now.
|
||||||
|
|
Loading…
Reference in New Issue