| 
					
				 | 
			
			
				@@ -3074,13 +3074,22 @@ class ComedyCentralIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			self._downloader.trouble(u'ERROR: unable to download webpage: %s' % unicode(err)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mMovieParams = re.findall('<param name="movie" value="(http://media.mtvnservices.com/(.*?:episode:.*?:)(.*?))"/>', html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mMovieParams = re.findall('<param name="movie" value="(http://media.mtvnservices.com/(.*?:episode:([^:]*):)(.*?))"/>', html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if len(mMovieParams) == 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			self._downloader.trouble(u'ERROR: unable to find Flash URL in webpage ' + url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		ACT_COUNT = 4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		show_id = mMovieParams[0][2] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ACT_COUNT = { # TODO: Detect this dynamically 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'thedailyshow.com': 4, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'colbertnation.com': 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}.get(show_id, 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		OFFSET = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'thedailyshow.com': -ACT_COUNT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'colbertnation.com': 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}.get(show_id, -ACT_COUNT) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		first_player_url = mMovieParams[0][0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mediaNum = int(mMovieParams[0][2]) - ACT_COUNT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mediaNum = int(mMovieParams[0][3]) + OFFSET 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		movieId = mMovieParams[0][1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		playerReq = urllib2.Request(first_player_url) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3093,6 +3102,7 @@ class ComedyCentralIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		player_url = playerResponse.geturl() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for actNum in range(ACT_COUNT): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			actTitle = 'act' + str(actNum+1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			mediaId = movieId + str(mediaNum + actNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			configUrl = ('http://www.comedycentral.com/global/feeds/entertainment/media/mediaGenEntertainment.jhtml?' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						urllib.urlencode({'uri': mediaId})) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3110,18 +3120,23 @@ class ComedyCentralIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				finfo = (rendition.attrib['bitrate'], rendition.findall('./src')[0].text) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				turls.append(finfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if len(turls) == 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				self._downloader.trouble(u'\nERROR: unable to download ' + actTitle + ': No videos found') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			# For now, just pick the highest bitrate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			format,video_url = turls[-1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			self._downloader.increment_downloads() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			actTitle = 'act' + str(actNum+1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			effTitle = show_id.replace('.com', '') + '-' + epTitle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			info = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'id': actTitle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'url': video_url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				'uploader': 'NA', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				'uploader': show_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'upload_date': 'NA', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				'title': epTitle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				'stitle': self._simplify_title(epTitle), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				'title': effTitle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				'stitle': self._simplify_title(effTitle), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'ext': 'mp4', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'format': format, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'thumbnail': None, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3132,7 +3147,8 @@ class ComedyCentralIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				self._downloader.process_info(info) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			except UnavailableVideoError, err: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				self._downloader.trouble(u'\nERROR: unable to download video') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				self._downloader.trouble(u'\nERROR: unable to download ' + actTitle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class PostProcessor(object): 
			 |