|
@ -121,14 +121,17 @@ class ArteTVPlus7IE(InfoExtractor): |
|
|
return ['HQ', 'MQ', 'EQ', 'SQ'].index(f['quality']) |
|
|
return ['HQ', 'MQ', 'EQ', 'SQ'].index(f['quality']) |
|
|
else: |
|
|
else: |
|
|
def sort_key(f): |
|
|
def sort_key(f): |
|
|
|
|
|
versionCode = f.get('versionCode') |
|
|
|
|
|
if versionCode is None: |
|
|
|
|
|
versionCode = '' |
|
|
return ( |
|
|
return ( |
|
|
# Sort first by quality |
|
|
# Sort first by quality |
|
|
int(f.get('height',-1)), |
|
|
|
|
|
int(f.get('bitrate',-1)), |
|
|
|
|
|
|
|
|
int(f.get('height', -1)), |
|
|
|
|
|
int(f.get('bitrate', -1)), |
|
|
# The original version with subtitles has lower relevance |
|
|
# The original version with subtitles has lower relevance |
|
|
re.match(r'VO-ST(F|A)', f.get('versionCode', '')) is None, |
|
|
|
|
|
|
|
|
re.match(r'VO-ST(F|A)', versionCode) is None, |
|
|
# The version with sourds/mal subtitles has also lower relevance |
|
|
# The version with sourds/mal subtitles has also lower relevance |
|
|
re.match(r'VO?(F|A)-STM\1', f.get('versionCode', '')) is None, |
|
|
|
|
|
|
|
|
re.match(r'VO?(F|A)-STM\1', versionCode) is None, |
|
|
# Prefer http downloads over m3u8 |
|
|
# Prefer http downloads over m3u8 |
|
|
0 if f['url'].endswith('m3u8') else 1, |
|
|
0 if f['url'].endswith('m3u8') else 1, |
|
|
) |
|
|
) |
|
|