mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	Remove quality_name field and improve zdf extractor
This commit is contained in:
		| @@ -871,8 +871,6 @@ class YoutubeDL(object): | |||||||
|             res = u'' |             res = u'' | ||||||
|             if fdict.get('format_note') is not None: |             if fdict.get('format_note') is not None: | ||||||
|                 res += fdict['format_note'] + u' ' |                 res += fdict['format_note'] + u' ' | ||||||
|             if fdict.get('quality_name') is not None: |  | ||||||
|                 res += u'%s ' % fdict['quality_name'] |  | ||||||
|             if fdict.get('vcodec') is not None: |             if fdict.get('vcodec') is not None: | ||||||
|                 res += u'%-5s' % fdict['vcodec'] |                 res += u'%-5s' % fdict['vcodec'] | ||||||
|             elif fdict.get('vbr') is not None: |             elif fdict.get('vbr') is not None: | ||||||
|   | |||||||
| @@ -76,7 +76,6 @@ class InfoExtractor(object): | |||||||
|                     * acodec    Name of the audio codec in use |                     * acodec    Name of the audio codec in use | ||||||
|                     * vbr       Average video bitrate in KBit/s |                     * vbr       Average video bitrate in KBit/s | ||||||
|                     * vcodec    Name of the video codec in use |                     * vcodec    Name of the video codec in use | ||||||
|                     * quality_name Human-readable name of the video quality. |  | ||||||
|                     * filesize  The number of bytes, if known in advance |                     * filesize  The number of bytes, if known in advance | ||||||
|     webpage_url:    The url to the video webpage, if given to youtube-dl it |     webpage_url:    The url to the video webpage, if given to youtube-dl it | ||||||
|                     should allow to get the same result again. (It will be set |                     should allow to get the same result again. (It will be set | ||||||
|   | |||||||
| @@ -52,6 +52,9 @@ class ZDFIE(InfoExtractor): | |||||||
|                 (?P<proto>[^_]+)_(?P<index>[^_]+)_(?P<indexproto>[^_]+) |                 (?P<proto>[^_]+)_(?P<index>[^_]+)_(?P<indexproto>[^_]+) | ||||||
|             ''', format_id) |             ''', format_id) | ||||||
|  |  | ||||||
|  |             ext = format_m.group('container') | ||||||
|  |             is_supported = ext != 'f4f' | ||||||
|  |  | ||||||
|             PROTO_ORDER = ['http', 'rtmp', 'rtsp'] |             PROTO_ORDER = ['http', 'rtmp', 'rtsp'] | ||||||
|             try: |             try: | ||||||
|                 proto_pref = -PROTO_ORDER.index(format_m.group('proto')) |                 proto_pref = -PROTO_ORDER.index(format_m.group('proto')) | ||||||
| @@ -67,26 +70,34 @@ class ZDFIE(InfoExtractor): | |||||||
|  |  | ||||||
|             abr = int(fnode.find('./audioBitrate').text) // 1000 |             abr = int(fnode.find('./audioBitrate').text) // 1000 | ||||||
|             vbr = int(fnode.find('./videoBitrate').text) // 1000 |             vbr = int(fnode.find('./videoBitrate').text) // 1000 | ||||||
|             pref = (is_available, proto_pref, quality_pref, vbr, abr) |             pref = (is_available, is_supported, | ||||||
|  |                     proto_pref, quality_pref, vbr, abr) | ||||||
|  |  | ||||||
|  |             format_note = u'' | ||||||
|  |             if not is_supported: | ||||||
|  |                 format_note += u'(unsupported)' | ||||||
|  |             if not format_note: | ||||||
|  |                 format_note = None | ||||||
|  |  | ||||||
|             return { |             return { | ||||||
|                 'format_id': format_id, |                 'format_id': format_id + u'-' + quality, | ||||||
|                 'url': video_url, |                 'url': video_url, | ||||||
|                 'ext': format_m.group('container'), |                 'ext': ext, | ||||||
|                 'acodec': format_m.group('acodec'), |                 'acodec': format_m.group('acodec'), | ||||||
|                 'vcodec': format_m.group('vcodec'), |                 'vcodec': format_m.group('vcodec'), | ||||||
|                 'abr': abr, |                 'abr': abr, | ||||||
|                 'vbr': vbr, |                 'vbr': vbr, | ||||||
|                 'width': int(fnode.find('./width').text), |                 'width': int(fnode.find('./width').text), | ||||||
|                 'height': int(fnode.find('./height').text), |                 'height': int(fnode.find('./height').text), | ||||||
|                 'quality_name': quality, |  | ||||||
|                 'filesize': int(fnode.find('./filesize').text), |                 'filesize': int(fnode.find('./filesize').text), | ||||||
|                 'format_note': None if is_available else u'(unavailable)', |                 'format_note': format_note, | ||||||
|                 '_pref': pref, |                 '_pref': pref, | ||||||
|  |                 '_available': is_available, | ||||||
|             } |             } | ||||||
|  |  | ||||||
|         format_nodes = doc.findall('.//formitaeten/formitaet') |         format_nodes = doc.findall('.//formitaeten/formitaet') | ||||||
|         formats = sorted(map(xml_to_format, format_nodes), |         formats = sorted(filter(lambda f: f['_available'], | ||||||
|  |                                 map(xml_to_format, format_nodes)), | ||||||
|                          key=operator.itemgetter('_pref')) |                          key=operator.itemgetter('_pref')) | ||||||
|  |  | ||||||
|         return { |         return { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister