Browse Source

[arte] Fix versionCode interpretation (#2588)

Philipp Hagemeister 11 years ago
parent
commit
5c9f3b8b16
1 changed files with 7 additions and 4 deletions
  1. 7 4
      youtube_dl/extractor/arte.py

+ 7 - 4
youtube_dl/extractor/arte.py

@@ -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,
                 )
                 )