Fix for manual and backlog searches to insure maximum results are returned

This commit is contained in:
echel0n 2014-05-13 13:38:32 -07:00
parent 98e1d67cf9
commit b8a499b3d3

View file

@ -319,7 +319,7 @@ def searchProviders(queueItem, show, season, episodes, seasonSearch=False, manua
logger.ERROR) logger.ERROR)
return [] return []
for provider in providers: for providerNum, provider in enumerate(providers):
foundResults = {provider.name:{}} foundResults = {provider.name:{}}
try: try:
@ -523,20 +523,25 @@ def searchProviders(queueItem, show, season, episodes, seasonSearch=False, manua
finalResults.append(bestResult) finalResults.append(bestResult)
logger.log(u"Checking if we should snatch " + bestResult.name, logger.DEBUG) if manualSearch:
any_qualities, best_qualities = Quality.splitQuality(show.quality) logger.log(u"Checking if we should snatch " + bestResult.name, logger.DEBUG)
any_qualities, best_qualities = Quality.splitQuality(show.quality)
# if there is a redownload that's higher than this then we definitely need to keep looking # if there is a redownload that's higher than this then we definitely need to keep looking
if best_qualities and bestResult.quality == max(best_qualities): if best_qualities and bestResult.quality == max(best_qualities):
logger.log(u"Found a highest quality archive match to snatch [" + bestResult.name + "]", logger.DEBUG) logger.log(u"Found a highest quality archive match to snatch [" + bestResult.name + "]", logger.DEBUG)
queueItem.results = [bestResult] queueItem.results = [bestResult]
return queueItem return queueItem
# if there's no redownload that's higher (above) and this is the highest initial download then we're good # if there's no redownload that's higher (above) and this is the highest initial download then we're good
elif any_qualities and bestResult.quality in any_qualities: elif any_qualities and bestResult.quality in any_qualities:
logger.log(u"Found a initial quality match to snatch [" + bestResult.name + "]", logger.DEBUG) logger.log(u"Found a initial quality match to snatch [" + bestResult.name + "]", logger.DEBUG)
queueItem.results = [bestResult] queueItem.results = [bestResult]
return queueItem return queueItem
# make sure we search every provider for results
if providerNum < len(providers):
continue
# remove duplicates and insures snatch of highest quality from results # remove duplicates and insures snatch of highest quality from results
for i1, result1 in enumerate(finalResults): for i1, result1 in enumerate(finalResults):