1
0
mirror of https://github.com/moparisthebest/SickRage synced 2024-11-10 19:35:08 -05:00

Fix offset calculation. No more unnecessary (double) searches.

For anime shows: if no absolute numbering is available, use the default numbering.
This commit is contained in:
KontiSR 2014-09-19 15:49:26 +02:00
parent 3f10a9e34f
commit fd4e26795f

View File

@ -189,7 +189,7 @@ class NewznabProvider(generic.NZBProvider):
params['season'] = date_str.partition('-')[0] params['season'] = date_str.partition('-')[0]
params['ep'] = date_str.partition('-')[2].replace('-', '/') params['ep'] = date_str.partition('-')[2].replace('-', '/')
elif ep_obj.show.anime: elif ep_obj.show.anime:
params['ep'] = "%i" % int(ep_obj.scene_absolute_number) params['ep'] = "%i" % int(ep_obj.scene_absolute_number if int(ep_obj.scene_absolute_number) > 0 else ep_obj.scene_episode)
else: else:
params['season'] = ep_obj.scene_season params['season'] = ep_obj.scene_season
params['ep'] = ep_obj.scene_episode params['ep'] = ep_obj.scene_episode
@ -302,17 +302,27 @@ class NewznabProvider(generic.NZBProvider):
if total == 0: if total == 0:
total = int(data.feed.newznab_response['total'] or 0) total = int(data.feed.newznab_response['total'] or 0)
offset = int(data.feed.newznab_response['offset'] or 0) offset = int(data.feed.newznab_response['offset'] or 0)
# No items found, prevent from doing another search
if total == 0:
break
if offset != params['offset']: if offset != params['offset']:
logger.log("Tell your newznab provider to fix their bloody newznab responses") logger.log("Tell your newznab provider to fix their bloody newznab responses")
break break
# if there are more items available then the amount given in one call, grab some more
params['offset'] += params['limit'] params['offset'] += params['limit']
if (total > int(params['offset'])):
logger.log(str( offset = int(params['offset'])
total - offset) + " more items to be fetched from provider. Fetching another " + str( # if there are more items available then the amount given in one call, grab some more
params['limit']) + " items.", logger.DEBUG) logger.log(str(
total - int(params['offset'])) + " more items to be fetched from provider. Fetching another " + str(
params['limit']) + " items.", logger.DEBUG)
else:
logger.log(str(
total - int(params['offset'])) + " No more searches needed, could find anything I was looking for! " + str(
params['limit']) + " items.", logger.DEBUG)
break
time.sleep(0.2) time.sleep(0.2)