diff options
| -rw-r--r-- | youtube_dl/extractor/arte.py | 27 | 
1 files changed, 15 insertions, 12 deletions
diff --git a/youtube_dl/extractor/arte.py b/youtube_dl/extractor/arte.py index 1f4e0e6a2..4a82a106f 100644 --- a/youtube_dl/extractor/arte.py +++ b/youtube_dl/extractor/arte.py @@ -142,27 +142,30 @@ class ArteTVPlus7IE(InfoExtractor):          }          qfunc = qualities(['HQ', 'MQ', 'EQ', 'SQ']) +        LANGS = { +            'fr': 'F', +            'de': 'A', +            'en': 'E[ANG]', +            'es': 'E[ESP]', +        } +          formats = []          for format_id, format_dict in player_info['VSR'].items():              f = dict(format_dict)              versionCode = f.get('versionCode') - -            langcode = { -                'fr': 'F', -                'de': 'A', -            }.get(lang, lang) -            lang_rexs = [r'VO?%s' % langcode, r'VO?.-ST%s' % langcode] -            lang_pref = ( -                None if versionCode is None else ( -                    10 if any(re.match(r, versionCode) for r in lang_rexs) -                    else -10)) +            langcode = LANGS.get(lang, lang) +            lang_rexs = [r'VO?%s-' % re.escape(langcode), r'VO?.-ST%s$' % re.escape(langcode)] +            lang_pref = None +            if versionCode: +                matched_lang_rexs = [r for r in lang_rexs if re.match(r, versionCode)] +                lang_pref = -10 if not matched_lang_rexs else 10 * len(matched_lang_rexs)              source_pref = 0              if versionCode is not None:                  # The original version with subtitles has lower relevance -                if re.match(r'VO-ST(F|A)', versionCode): +                if re.match(r'VO-ST(F|A|E)', versionCode):                      source_pref -= 10                  # The version with sourds/mal subtitles has also lower relevance -                elif re.match(r'VO?(F|A)-STM\1', versionCode): +                elif re.match(r'VO?(F|A|E)-STM\1', versionCode):                      source_pref -= 9              format = {                  'format_id': format_id,  | 
