'uploader': showName,
'upload_date': None,
'title': showName,
- 'ext': 'mp4',
+ 'ext': 'flv',
'thumbnail': imgUrl,
'description': description,
'player_url': playerUrl,
}
return [info]
+class WorldStarHipHopIE(InfoExtractor):
+ _VALID_URL = r"""(http://(?:www|m).worldstar(?:candy|hiphop)\.com.*)"""
+ IE_NAME = u'WorldStarHipHop'
+
+ def _real_extract(self, url):
+ results = []
+
+ _src_url = r"""(http://hw-videos.*(?:mp4|flv))"""
+
+ webpage_src = compat_urllib_request.urlopen(str(url)).read()
+
+ mobj = re.search(_src_url, webpage_src)
+
+ if mobj is not None:
+ video_url = mobj.group()
+ if 'mp4' in video_url:
+ ext = '.mp4'
+ else:
+ ext = '.flv'
+ else:
+ video_url = None
+ ext = None
+
+ _title = r"""<title>(.*)</title>"""
+
+ mobj = re.search(_title, webpage_src)
+
+ if mobj is not None:
+ title = mobj.group(1)
+ title = title.replace("'", "")
+ title = title.replace("'", "")
+ title = title.replace('Video: ', '')
+ title = title.replace('"', '"')
+ title = title.replace('&', 'n')
+ else:
+ title = None
+
+ _thumbnail = r"""rel="image_src" href="(.*)" />"""
+
+ mobj = re.search(_thumbnail, webpage_src)
+
+ # Getting thumbnail and if not thumbnail sets correct title for WSHH candy video.
+ if mobj is not None:
+ thumbnail = mobj.group(1)
+ else:
+ _title = r"""candytitles.*>(.*)</span>"""
+ mobj = re.search(_title, webpage_src)
+ if mobj is not None:
+ title = mobj.group(1)
+ thumbnail = None
+
+ results.append({
+ 'url' : video_url,
+ 'title' : title,
+ 'thumbnail' : thumbnail,
+ 'ext' : ext
+ })
+
+ return results
+
class RBMARadioIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?rbmaradio\.com/shows/(?P<videoID>[^/]+)$'
GooglePlusIE(),
ArteTvIE(),
NBAIE(),
+ WorldStarHipHopIE(),
JustinTVIE(),
FunnyOrDieIE(),
SteamIE(),