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