[ccc] Add language information to formats

This commit is contained in:
Philipp Hagemeister 2016-01-01 13:28:45 +01:00
parent 190ef07981
commit 32f9036447
3 changed files with 13 additions and 4 deletions

View File

@ -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:

View File

@ -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),

View File

@ -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.