[viki] Change IE name to channel, better message output
authorping <lipng.ong@gmail.com>
Sat, 16 May 2015 22:19:38 +0000 (06:19 +0800)
committerping <lipng.ong@gmail.com>
Sat, 16 May 2015 22:19:38 +0000 (06:19 +0800)
youtube_dl/extractor/__init__.py
youtube_dl/extractor/viki.py

index cb6635610c921bb4f74264c3ed97aff60ba31a5a..21f7b7290670a7d5b562df4f3d557238ad1f745f 100644 (file)
@@ -641,7 +641,7 @@ from .vine import (
 )
 from .viki import (
     VikiIE,
-    VikiShowIE,
+    VikiChannelIE,
 )
 from .vk import (
     VKIE,
index 4d477b03cb6178f5da4856830d2c7436e6c675cd..9bdbdc3e468cec6ae0fb1e36e33332a494e4230d 100644 (file)
@@ -147,8 +147,8 @@ class VikiIE(InfoExtractor):
         return res
 
 
-class VikiShowIE(InfoExtractor):
-    IE_NAME = 'viki:show'
+class VikiChannelIE(InfoExtractor):
+    IE_NAME = 'viki:channel'
     _VALID_URL = r'^https?://(?:www\.)?viki\.com/tv/(?P<id>[0-9]+c)'
     _TESTS = [{
         'url': 'http://www.viki.com/tv/50c-boys-over-flowers',
@@ -167,6 +167,7 @@ class VikiShowIE(InfoExtractor):
         },
         'playlist_count': 127,
     }]
+    _PER_PAGE = 25
 
     def _real_extract(self, url):
         show_id = self._match_id(url)
@@ -177,10 +178,12 @@ class VikiShowIE(InfoExtractor):
 
         entries = []
         for video_type in ['episodes', 'clips']:
-            json_url = 'http://api.viki.io/v4/containers/%s/%s.json?app=100000a&per_page=25&sort=number&direction=asc&with_paging=true&page=1' % (show_id, video_type)
+            json_url = 'http://api.viki.io/v4/containers/%s/%s.json?app=100000a&per_page=%d&sort=number&direction=asc&with_paging=true&page=1' % (show_id, video_type, self._PER_PAGE)
             while json_url is not None:
                 show_json = self._download_json(
-                    json_url, show_id, note='Retrieve show json', errnote='Unable to get show json')
+                    json_url, show_id,
+                    note='Downloading %s json page #%s' %
+                         (video_type, re.search(r'[?&]page=([0-9]+)', json_url).group(1)))
                 for video in show_json['response']:
                     video_id = video['id']
                     entries.append(self.url_result(