mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	Adds format listing/selection support to the Comedy Central extractor.
This commit is contained in:
		| @@ -2253,6 +2253,25 @@ class ComedyCentralIE(InfoExtractor): | ||||
| 	_VALID_URL = r'^(:(?P<shortname>tds|thedailyshow|cr|colbert|colbertnation|colbertreport))|(https?://)?(www\.)?(?P<showname>thedailyshow|colbertnation)\.com/full-episodes/(?P<episode>.*)$' | ||||
| 	IE_NAME = u'comedycentral' | ||||
|  | ||||
| 	_available_formats = ['3500', '2200', '1700', '1200', '750', '400'] | ||||
|  | ||||
| 	_video_extensions = { | ||||
| 		'3500': 'mp4', | ||||
| 		'2200': 'mp4', | ||||
| 		'1700': 'mp4', | ||||
| 		'1200': 'mp4', | ||||
| 		'750': 'mp4', | ||||
| 		'400': 'mp4', | ||||
| 	} | ||||
| 	_video_dimensions = { | ||||
| 		'3500': '1280x720', | ||||
| 		'2200': '960x540', | ||||
| 		'1700': '768x432', | ||||
| 		'1200': '640x360', | ||||
| 		'750': '512x288', | ||||
| 		'400': '384x216', | ||||
| 	} | ||||
|  | ||||
| 	def report_extraction(self, episode_id): | ||||
| 		self._downloader.to_screen(u'[comedycentral] %s: Extracting information' % episode_id) | ||||
|  | ||||
| @@ -2265,6 +2284,14 @@ class ComedyCentralIE(InfoExtractor): | ||||
| 	def report_player_url(self, episode_id): | ||||
| 		self._downloader.to_screen(u'[comedycentral] %s: Determining player URL' % episode_id) | ||||
|  | ||||
|  | ||||
| 	def _print_formats(self, formats): | ||||
| 		print('Available formats:') | ||||
| 		for x in formats: | ||||
| 			print('%s\t:\t%s\t[%s]' %(x, self._video_extensions.get(x, 'mp4'), self._video_dimensions.get(x, '???'))) | ||||
|  | ||||
|  | ||||
|  | ||||
| 	def _real_extract(self, url): | ||||
| 		mobj = re.match(self._VALID_URL, url) | ||||
| 		if mobj is None: | ||||
| @@ -2359,7 +2386,20 @@ class ComedyCentralIE(InfoExtractor): | ||||
| 				continue | ||||
|  | ||||
| 			# For now, just pick the highest bitrate | ||||
| 			format,video_url = turls[-1] | ||||
| 			 | ||||
| 			print turls | ||||
|  | ||||
| 			if self._downloader.params.get('listformats', None): | ||||
| 			    self._print_formats([i[0] for i in turls]) | ||||
| 		            return | ||||
|  | ||||
|  			format,video_url = turls[-1] | ||||
| 			req_format = self._downloader.params.get('format', None) | ||||
|  | ||||
| 			for f,v in turls: | ||||
| 			    if f == req_format: | ||||
| 			      format, video_url = f, v | ||||
| 			      break | ||||
|  | ||||
| 			# Patch to download from alternative CDN, which does not  | ||||
|                         # break on current RTMPDump builds | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Christopher Neugebauer
					Christopher Neugebauer