[youtube] Fix extraction.
[youtube-dl] / youtube_dl / extractor / sonyliv.py
index c717b1f4d09dde0a161750303efa84cce436d45a..58a8c0d4ddb2f282241af2afad37e9d4b8403085 100644 (file)
@@ -2,27 +2,39 @@
 from __future__ import unicode_literals
 
 from .common import InfoExtractor
+from ..utils import smuggle_url
 
 
 class SonyLIVIE(InfoExtractor):
-    _VALID_URL = r'http?://(?:www\.)?sonyliv\.com/details/episodes/(?P<id>[0-9]+)/'
-    _TEST = {
-        'url': 'http://www.sonyliv.com/details/episodes/5024612095001/Ep.-1---Achaari-Cheese-Toast---Bachelor\'s-Delight',
+    _VALID_URL = r'https?://(?:www\.)?sonyliv\.com/details/[^/]+/(?P<id>\d+)'
+    _TESTS = [{
+        'url': "http://www.sonyliv.com/details/episodes/5024612095001/Ep.-1---Achaari-Cheese-Toast---Bachelor's-Delight",
         'info_dict': {
-            'title': 'Ep. 1 - Achaari Cheese Toast - Bachelor\'s Delight',
-            'id': '5024612095001',
+            'title': "Ep. 1 - Achaari Cheese Toast - Bachelor's Delight",
+            'id': 'ref:5024612095001',
             'ext': 'mp4',
-            'upload_date': '20160707',
-            'description': 'Bachelor\'s Delight is a new food show from Sony LIV to satisfy the taste buds of all those bachelors looking for a quick bite.',
-            'uploader_id': '4338955589001',
-            'timestamp': 1467870968,
+            'upload_date': '20170923',
+            'description': 'md5:7f28509a148d5be9d0782b4d5106410d',
+            'uploader_id': '5182475815001',
+            'timestamp': 1506200547,
         },
         'params': {
             'skip_download': True,
         },
         'add_ie': ['BrightcoveNew'],
-    }
-    BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/4338955589001/default_default/index.html?videoId=%s'
+    }, {
+        'url': 'http://www.sonyliv.com/details/full%20movie/4951168986001/Sei-Raat-(Bangla)',
+        'only_matching': True,
+    }]
+
+    # BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/4338955589001/default_default/index.html?videoId=%s'
+    BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/5182475815001/default_default/index.html?videoId=ref:%s'
 
     def _real_extract(self, url):
-        return self.url_result(self.BRIGHTCOVE_URL_TEMPLATE % self._match_id(url), 'BrightcoveNew')
+        brightcove_id = self._match_id(url)
+        return self.url_result(
+            smuggle_url(self.BRIGHTCOVE_URL_TEMPLATE % brightcove_id, {
+                'geo_countries': ['IN'],
+                'referrer': url,
+            }),
+            'BrightcoveNew', brightcove_id)