mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 09:17:07 -05:00 
			
		
		
		
	[teamcoco] Use centralized sorting
This commit is contained in:
		@@ -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,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user