- qualities = [ '1080p', '720p', '1000k', '480p', '500k' ]
- best_quality_idx = len(qualities)+1 # First regex match may not be optimal
- for idx, quality in enumerate(qualities):
- regex = r'<file [^>]*type="(?:high|standard)".*?>(.*%s.*)</file>' % quality
+ qualities = ['500k', '480p', '1000k', '720p', '1080p']
+ formats = []
+ for file in data.findall('files/file'):
+ if file.attrib.get('playmode') == 'all':
+ # it just duplicates one of the entries
+ break
+ file_url = file.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']
+ formats.append({
+ 'url': file_url,
+ 'ext': 'mp4',
+ 'format_id': format_id,
+ })
+ def sort_key(f):