[arte] Make sure the format_id is unique (closes #1739)
Include the bitrate and use the height instead of the quality field.
This commit is contained in:
		@@ -10,6 +10,7 @@ from ..utils import (
 | 
			
		||||
    unified_strdate,
 | 
			
		||||
    determine_ext,
 | 
			
		||||
    get_element_by_id,
 | 
			
		||||
    compat_str,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# There are different sources of video in arte.tv, the extraction process 
 | 
			
		||||
@@ -191,10 +192,13 @@ class ArteTVPlus7IE(InfoExtractor):
 | 
			
		||||
        formats = sorted(formats, key=lambda f: re.match(r'VO(F|A)-STM\1', f.get('versionCode', '')) is None)
 | 
			
		||||
        # Pick the best quality
 | 
			
		||||
        def _format(format_info):
 | 
			
		||||
            quality = format_info['quality']
 | 
			
		||||
            m_quality = re.match(r'\w*? - (\d*)p', quality)
 | 
			
		||||
            if m_quality is not None:
 | 
			
		||||
                quality = m_quality.group(1)
 | 
			
		||||
            quality = ''
 | 
			
		||||
            height = format_info.get('height')
 | 
			
		||||
            if height is not None:
 | 
			
		||||
                quality = compat_str(height)
 | 
			
		||||
            bitrate = format_info.get('bitrate')
 | 
			
		||||
            if bitrate is not None:
 | 
			
		||||
                quality += '-%d' % bitrate
 | 
			
		||||
            if format_info.get('versionCode') is not None:
 | 
			
		||||
                format_id = u'%s-%s' % (quality, format_info['versionCode'])
 | 
			
		||||
            else:
 | 
			
		||||
@@ -203,7 +207,7 @@ class ArteTVPlus7IE(InfoExtractor):
 | 
			
		||||
                'format_id': format_id,
 | 
			
		||||
                'format_note': format_info.get('versionLibelle'),
 | 
			
		||||
                'width': format_info.get('width'),
 | 
			
		||||
                'height': format_info.get('height'),
 | 
			
		||||
                'height': height,
 | 
			
		||||
            }
 | 
			
		||||
            if format_info['mediaType'] == u'rtmp':
 | 
			
		||||
                info['url'] = format_info['streamer']
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user