mirror of
https://github.com/moparisthebest/SickRage
synced 2024-12-12 11:02:21 -05:00
Improved newznab offset code
This commit is contained in:
parent
ab16430b1a
commit
ba4b408af3
@ -263,38 +263,38 @@ class NewznabProvider(generic.NZBProvider):
|
||||
params['apikey'] = self.key
|
||||
|
||||
results = []
|
||||
|
||||
# get and set total items available
|
||||
|
||||
offset = total = 0
|
||||
|
||||
while total >= offset:
|
||||
search_url = self.url + 'api?' + urllib.urlencode(params)
|
||||
logger.log(u"Search url: " + search_url, logger.DEBUG)
|
||||
data = self.cache.getRSSFeed(search_url)
|
||||
|
||||
if data and 'entries' in data and self._checkAuthFromData(data):
|
||||
for item in data.entries:
|
||||
if not data or not self._checkAuthFromData(data):
|
||||
break
|
||||
|
||||
(title, url) = self._get_title_and_url(item)
|
||||
for item in data.entries:
|
||||
|
||||
if title and url:
|
||||
results.append(item)
|
||||
else:
|
||||
logger.log(
|
||||
u"The data returned from the " + self.name + " is incomplete, this result is unusable",
|
||||
logger.DEBUG)
|
||||
(title, url) = self._get_title_and_url(item)
|
||||
|
||||
# get total and offset attribs
|
||||
if total == 0:
|
||||
total = int(data.feed.newznab_response['total'] or 0)
|
||||
offset = int(data.feed.newznab_response['offset'] or 0)
|
||||
if title and url:
|
||||
results.append(item)
|
||||
else:
|
||||
logger.log(
|
||||
u"The data returned from the " + self.name + " is incomplete, this result is unusable",
|
||||
logger.DEBUG)
|
||||
|
||||
# if there are more items available then the amount given in one call, grab some more
|
||||
params['offset'] += params['limit']
|
||||
# get total and offset attribs
|
||||
if total == 0:
|
||||
total = int(data.feed.newznab_response['total'] or 0)
|
||||
offset = int(data.feed.newznab_response['offset'] or 0)
|
||||
|
||||
logger.log(str(
|
||||
total - offset) + " more items to be fetched from provider. Fetching another " + str(
|
||||
params['limit']) + " items.", logger.DEBUG)
|
||||
# if there are more items available then the amount given in one call, grab some more
|
||||
params['offset'] += params['limit']
|
||||
|
||||
logger.log(str(
|
||||
total - offset) + " more items to be fetched from provider. Fetching another " + str(
|
||||
params['limit']) + " items.", logger.DEBUG)
|
||||
|
||||
return results
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user