|
|
|
@ -26,14 +26,16 @@ class LimelightBaseIE(InfoExtractor):
|
|
|
|
|
'Channel': 'channel',
|
|
|
|
|
'ChannelList': 'channel_list',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def smuggle(url):
|
|
|
|
|
return smuggle_url(url, {'source_url': source_url})
|
|
|
|
|
|
|
|
|
|
entries = []
|
|
|
|
|
for kind, video_id in re.findall(
|
|
|
|
|
r'LimelightPlayer\.doLoad(Media|Channel|ChannelList)\(["\'](?P<id>[a-z0-9]{32})',
|
|
|
|
|
webpage):
|
|
|
|
|
entries.append(cls.url_result(
|
|
|
|
|
smuggle_url(
|
|
|
|
|
'limelight:%s:%s' % (lm[kind], video_id),
|
|
|
|
|
{'source_url': source_url}),
|
|
|
|
|
smuggle('limelight:%s:%s' % (lm[kind], video_id)),
|
|
|
|
|
'Limelight%s' % kind, video_id))
|
|
|
|
|
for mobj in re.finditer(
|
|
|
|
|
# As per [1] class attribute should be exactly equal to
|
|
|
|
@ -49,10 +51,15 @@ class LimelightBaseIE(InfoExtractor):
|
|
|
|
|
''', webpage):
|
|
|
|
|
kind, video_id = mobj.group('kind'), mobj.group('id')
|
|
|
|
|
entries.append(cls.url_result(
|
|
|
|
|
smuggle_url(
|
|
|
|
|
'limelight:%s:%s' % (kind, video_id),
|
|
|
|
|
{'source_url': source_url}),
|
|
|
|
|
smuggle('limelight:%s:%s' % (kind, video_id)),
|
|
|
|
|
'Limelight%s' % kind.capitalize(), video_id))
|
|
|
|
|
# http://support.3playmedia.com/hc/en-us/articles/115009517327-Limelight-Embedding-the-Audio-Description-Plugin-with-the-Limelight-Player-on-Your-Web-Page)
|
|
|
|
|
for video_id in re.findall(
|
|
|
|
|
r'(?s)LimelightPlayerUtil\.embed\s*\(\s*{.*?\bmediaId["\']\s*:\s*["\'](?P<id>[a-z0-9]{32})',
|
|
|
|
|
webpage):
|
|
|
|
|
entries.append(cls.url_result(
|
|
|
|
|
smuggle('limelight:media:%s' % video_id),
|
|
|
|
|
LimelightMediaIE.ie_key(), video_id))
|
|
|
|
|
return entries
|
|
|
|
|
|
|
|
|
|
def _call_playlist_service(self, item_id, method, fatal=True, referer=None):
|
|
|
|
|