[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:
parent
81be02d2f9
commit
566d4e0425
1 changed files with 9 additions and 5 deletions
|
@ -10,6 +10,7 @@ from ..utils import (
|
||||||
unified_strdate,
|
unified_strdate,
|
||||||
determine_ext,
|
determine_ext,
|
||||||
get_element_by_id,
|
get_element_by_id,
|
||||||
|
compat_str,
|
||||||
)
|
)
|
||||||
|
|
||||||
# There are different sources of video in arte.tv, the extraction process
|
# 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)
|
formats = sorted(formats, key=lambda f: re.match(r'VO(F|A)-STM\1', f.get('versionCode', '')) is None)
|
||||||
# Pick the best quality
|
# Pick the best quality
|
||||||
def _format(format_info):
|
def _format(format_info):
|
||||||
quality = format_info['quality']
|
quality = ''
|
||||||
m_quality = re.match(r'\w*? - (\d*)p', quality)
|
height = format_info.get('height')
|
||||||
if m_quality is not None:
|
if height is not None:
|
||||||
quality = m_quality.group(1)
|
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:
|
if format_info.get('versionCode') is not None:
|
||||||
format_id = u'%s-%s' % (quality, format_info['versionCode'])
|
format_id = u'%s-%s' % (quality, format_info['versionCode'])
|
||||||
else:
|
else:
|
||||||
|
@ -203,7 +207,7 @@ class ArteTVPlus7IE(InfoExtractor):
|
||||||
'format_id': format_id,
|
'format_id': format_id,
|
||||||
'format_note': format_info.get('versionLibelle'),
|
'format_note': format_info.get('versionLibelle'),
|
||||||
'width': format_info.get('width'),
|
'width': format_info.get('width'),
|
||||||
'height': format_info.get('height'),
|
'height': height,
|
||||||
}
|
}
|
||||||
if format_info['mediaType'] == u'rtmp':
|
if format_info['mediaType'] == u'rtmp':
|
||||||
info['url'] = format_info['streamer']
|
info['url'] = format_info['streamer']
|
||||||
|
|
Loading…
Reference in a new issue