Browse Source

[justin.tv] Fix page reporting (#3352)

youtube-dl -j http://www.twitch.tv/fang_i3anger still fails though.
master
Philipp Hagemeister 10 years ago
parent
commit
3182f3e2dc
1 changed files with 9 additions and 8 deletions
  1. 17
      youtube_dl/extractor/justintv.py

17
youtube_dl/extractor/justintv.py

@ -1,5 +1,6 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import itertools
import json import json
import os import os
import re import re
@ -43,10 +44,11 @@ class JustinTVIE(InfoExtractor):
} }
# Return count of items, list of *valid* items # Return count of items, list of *valid* items
def _parse_page(self, url, video_id):
info_json = self._download_webpage(url, video_id,
'Downloading video info JSON',
'unable to download video info JSON')
def _parse_page(self, url, video_id, counter):
info_json = self._download_webpage(
url, video_id,
'Downloading video info JSON on page %d' % counter,
'Unable to download video info JSON %d' % counter)
response = json.loads(info_json) response = json.loads(info_json)
if type(response) != list: if type(response) != list:
@ -138,11 +140,10 @@ class JustinTVIE(InfoExtractor):
entries = [] entries = []
offset = 0 offset = 0
limit = self._JUSTIN_PAGE_LIMIT limit = self._JUSTIN_PAGE_LIMIT
while True:
if paged:
self.report_download_page(video_id, offset)
for counter in itertools.count(1):
page_url = api + ('?offset=%d&limit=%d' % (offset, limit)) page_url = api + ('?offset=%d&limit=%d' % (offset, limit))
page_count, page_info = self._parse_page(page_url, video_id)
page_count, page_info = self._parse_page(
page_url, video_id, counter)
entries.extend(page_info) entries.extend(page_info)
if not paged or page_count != limit: if not paged or page_count != limit:
break break

Loading…
Cancel
Save