X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Farte.py;h=b528a9ec50ca6c2dac1a52fe66de2cd66194dd23;hb=05ee2b6dad065e01ca454502d4516fb6853abad1;hp=9ca6c71e924b80af9e2e6dfcd0f70f201b13708d;hpb=7a249480b47767dcd5b872563fd715afd01f777a;p=youtube-dl.git diff --git a/youtube_dl/extractor/arte.py b/youtube_dl/extractor/arte.py index 9ca6c71e9..b528a9ec5 100644 --- a/youtube_dl/extractor/arte.py +++ b/youtube_dl/extractor/arte.py @@ -40,8 +40,9 @@ class ArteTvIE(InfoExtractor): formats = [{ 'forma_id': q.attrib['quality'], 'url': q.text, + 'ext': 'flv', 'quality': 2 if q.attrib['quality'] == 'hd' else 1, - } for q in config.findall('.//quality')] + } for q in config.findall('./urls/url')] self._sort_formats(formats) title = config.find('.//name').text @@ -51,7 +52,6 @@ class ArteTvIE(InfoExtractor): 'title': title, 'thumbnail': thumbnail, 'formats': formats, - 'ext': 'flv', } @@ -74,7 +74,8 @@ class ArteTVPlus7IE(InfoExtractor): return self._extract_from_webpage(webpage, video_id, lang) def _extract_from_webpage(self, webpage, video_id, lang): - json_url = self._html_search_regex(r'arte_vp_url="(.*?)"', webpage, 'json url') + json_url = self._html_search_regex( + r'arte_vp_url="(.*?)"', webpage, 'json vp url') return self._extract_from_json_url(json_url, video_id, lang) def _extract_from_json_url(self, json_url, video_id, lang): @@ -120,14 +121,17 @@ class ArteTVPlus7IE(InfoExtractor): return ['HQ', 'MQ', 'EQ', 'SQ'].index(f['quality']) else: def sort_key(f): + versionCode = f.get('versionCode') + if versionCode is None: + versionCode = '' return ( # 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 - 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 - 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 0 if f['url'].endswith('m3u8') else 1, )