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