[limelight] Add support for channels and channels lists embedded using LimelightEmbed...
authorSergey M․ <dstftw@gmail.com>
Sun, 16 Apr 2017 17:33:47 +0000 (00:33 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 16 Apr 2017 17:33:47 +0000 (00:33 +0700)
youtube_dl/extractor/limelight.py

index 0041453af86f514f2bd15b00b4763ca129a3d164..0a5a3956c66827a745daa70ed3b33e61ea676d64 100644 (file)
@@ -30,7 +30,6 @@ class LimelightBaseIE(InfoExtractor):
         for kind, video_id in re.findall(
                 r'LimelightPlayer\.doLoad(Media|Channel|ChannelList)\(["\'](?P<id>[a-z0-9]{32})',
                 webpage):
-            print('video_id', video_id)
             entries.append(cls.url_result(
                 smuggle_url(
                     'limelight:%s:%s' % (lm[kind], video_id),
@@ -46,13 +45,14 @@ class LimelightBaseIE(InfoExtractor):
                     <object[^>]+class=(["\'])(?:(?!\1).)*\bLimelightEmbeddedPlayerFlash\b(?:(?!\1).)*\1[^>]*>.*?
                         <param[^>]+
                             name=(["\'])flashVars\2[^>]+
-                            value=(["\'])(?:(?!\3).)*mediaId=(?P<id>[a-z0-9]{32})
+                            value=(["\'])(?:(?!\3).)*(?P<kind>media|channel(?:List)?)Id=(?P<id>[a-z0-9]{32})
                 ''', webpage):
+            kind, video_id = mobj.group('kind'), mobj.group('id')
             entries.append(cls.url_result(
                 smuggle_url(
-                    'limelight:media:%s' % mobj.group('id'),
+                    'limelight:%s:%s' % (kind, video_id),
                     {'source_url': source_url}),
-                'LimelightMedia', mobj.group('id')))
+                'Limelight%s' % kind.capitalize(), video_id))
         return entries
 
     def _call_playlist_service(self, item_id, method, fatal=True, referer=None):