diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2014-01-17 03:22:02 +0100 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2014-01-17 03:22:02 +0100 |
commit | befdc8f3b6c4a66a3d23edb62208b95a09b917b9 (patch) | |
tree | fde571ac4f31e0a9db1a25201606e3ff218c73fc | |
parent | bb198c95e295ba1849067e7aceb5ee4560c2517a (diff) |
[teamcoco] Use centralized sorting
-rw-r--r-- | youtube_dl/extractor/teamcoco.py | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/youtube_dl/extractor/teamcoco.py b/youtube_dl/extractor/teamcoco.py index 0bd0d67c4..9dcffead0 100644 --- a/youtube_dl/extractor/teamcoco.py +++ b/youtube_dl/extractor/teamcoco.py @@ -38,29 +38,34 @@ class TeamcocoIE(InfoExtractor): qualities = ['500k', '480p', '1000k', '720p', '1080p'] formats = [] - for file in data.findall('files/file'): - if file.attrib.get('playmode') == 'all': + for filed in data.findall('files/file'): + if filed.attrib.get('playmode') == 'all': # it just duplicates one of the entries break - file_url = file.text + file_url = filed.text m_format = re.search(r'(\d+(k|p))\.mp4', file_url) if m_format is not None: format_id = m_format.group(1) else: - format_id = file.attrib['bitrate'] + format_id = filed.attrib['bitrate'] + tbr = ( + int(filed.attrib['bitrate']) + if filed.attrib['bitrate'].isdigit() + else None) + + try: + quality = qualities.index(format_id) + except ValueError: + quality = -1 formats.append({ 'url': file_url, 'ext': 'mp4', + 'tbr': tbr, 'format_id': format_id, + 'quality': quality, }) - def sort_key(f): - try: - return qualities.index(f['format_id']) - except ValueError: - return -1 - formats.sort(key=sort_key) - if not formats: - raise ExtractorError('Unable to extract video URL') + + self._sort_formats(formats) return { 'id': video_id, |