diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2012-11-27 13:19:18 +0100 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2012-11-27 13:19:18 +0100 | 
| commit | 958a22b7cf3e20ac4f05ff6817bdac34a14ab327 (patch) | |
| tree | a0b57c9845c63552e6867dc8eb5defcc106830e8 | |
| parent | 97cd3afc7525394c46398f1526d412d081c02085 (diff) | |
| parent | feb22fe5fe55f51a72af6ef4207dba95c6da1fda (diff) | |
Merge remote-tracking branch 'chrisjrn/master'
| -rw-r--r-- | youtube_dl/InfoExtractors.py | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py index 3cdce3b25..64383fea4 100644 --- a/youtube_dl/InfoExtractors.py +++ b/youtube_dl/InfoExtractors.py @@ -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: @@ -2357,10 +2384,23 @@ class ComedyCentralIE(InfoExtractor):  			if len(turls) == 0:  				self._downloader.trouble(u'\nERROR: unable to download ' + mediaId + ': No videos found')  				continue +			 +			if self._downloader.params.get('listformats', None): +			    self._print_formats([i[0] for i in turls]) +		            return  			# For now, just pick the highest bitrate  			format,video_url = turls[-1] +			# Get the format arg from the arg stream +			req_format = self._downloader.params.get('format', None) + +			# Select format if we can find one +			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 | 
