mirror of
				https://code.hackerspace.pl/q3k/youtube-dl
				synced 2025-03-16 11:43:02 +00:00 
			
		
		
		
	[googledrive] Fix formats' sorting (closes #13443)
This commit is contained in:
		
							parent
							
								
									048b55804d
								
							
						
					
					
						commit
						9be9ec5980
					
				| @ -69,19 +69,32 @@ class GoogleDriveIE(InfoExtractor): | |||||||
|             r'"fmt_stream_map"\s*,\s*"([^"]+)', webpage, 'fmt stream map').split(',') |             r'"fmt_stream_map"\s*,\s*"([^"]+)', webpage, 'fmt stream map').split(',') | ||||||
|         fmt_list = self._search_regex(r'"fmt_list"\s*,\s*"([^"]+)', webpage, 'fmt_list').split(',') |         fmt_list = self._search_regex(r'"fmt_list"\s*,\s*"([^"]+)', webpage, 'fmt_list').split(',') | ||||||
| 
 | 
 | ||||||
|  |         resolutions = {} | ||||||
|  |         for fmt in fmt_list: | ||||||
|  |             mobj = re.search( | ||||||
|  |                 r'^(?P<format_id>\d+)/(?P<width>\d+)[xX](?P<height>\d+)', fmt) | ||||||
|  |             if mobj: | ||||||
|  |                 resolutions[mobj.group('format_id')] = ( | ||||||
|  |                     int(mobj.group('width')), int(mobj.group('height'))) | ||||||
|  | 
 | ||||||
|         formats = [] |         formats = [] | ||||||
|         for fmt, fmt_stream in zip(fmt_list, fmt_stream_map): |         for fmt_stream in fmt_stream_map: | ||||||
|             fmt_id, fmt_url = fmt_stream.split('|') |             fmt_stream_split = fmt_stream.split('|') | ||||||
|             resolution = fmt.split('/')[1] |             if len(fmt_stream_split) < 2: | ||||||
|             width, height = resolution.split('x') |                 continue | ||||||
|             formats.append({ |             format_id, format_url = fmt_stream_split[:2] | ||||||
|                 'url': lowercase_escape(fmt_url), |             f = { | ||||||
|                 'format_id': fmt_id, |                 'url': lowercase_escape(format_url), | ||||||
|                 'resolution': resolution, |                 'format_id': format_id, | ||||||
|                 'width': int_or_none(width), |                 'ext': self._FORMATS_EXT[format_id], | ||||||
|                 'height': int_or_none(height), |             } | ||||||
|                 'ext': self._FORMATS_EXT[fmt_id], |             resolution = resolutions.get(format_id) | ||||||
|  |             if resolution: | ||||||
|  |                 f.update({ | ||||||
|  |                     'width': resolution[0], | ||||||
|  |                     'height': resolution[0], | ||||||
|                 }) |                 }) | ||||||
|  |             formats.append(f) | ||||||
|         self._sort_formats(formats) |         self._sort_formats(formats) | ||||||
| 
 | 
 | ||||||
|         return { |         return { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sergey M․
						Sergey M․