Temporarily fix dailyshow+colbertnation media IDs

This commit is contained in:
Philipp Hagemeister 2011-09-07 23:15:26 +02:00
parent 46c8c43266
commit a88bc6bbd3

View File

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