1
0
mirror of https://github.com/moparisthebest/SickRage synced 2024-11-17 14:55:07 -05:00

Merge branch 'origin/dev'

This commit is contained in:
echel0n 2014-05-07 02:04:10 -07:00
commit 3cfd593b38
3 changed files with 33 additions and 10 deletions

View File

@ -111,6 +111,11 @@ def snatchEpisode(result, endStatus=SNATCHED):
if result is None: return False if result is None: return False
# don't notify when we re-download an episode
for curEpObj in result.episodes:
if curEpObj.status in Quality.SNATCHED + Quality.SNATCHED_PROPER + Quality.SNATCHED_BEST:
return 2
result.priority = 0 # -1 = low, 0 = normal, 1 = high result.priority = 0 # -1 = low, 0 = normal, 1 = high
if sickbeard.ALLOW_HIGH_PRIORITY: if sickbeard.ALLOW_HIGH_PRIORITY:
# if it aired recently make it high priority # if it aired recently make it high priority

View File

@ -126,11 +126,12 @@ class ManualSearchQueueItem(generic_queue.QueueItem):
for foundResult in [item for sublist in foundResults for item in sublist]: for foundResult in [item for sublist in foundResults for item in sublist]:
time.sleep(0.01) time.sleep(0.01)
# just use the first result for now
logger.log(u"Downloading " + foundResult.name + " from " + foundResult.provider.name)
result = search.snatchEpisode(foundResult) result = search.snatchEpisode(foundResult)
# duplicate snatch detected due to multithreading
if result == 2:
continue
providerModule = foundResult.provider providerModule = foundResult.provider
if not result: if not result:
ui.notifications.error( ui.notifications.error(
@ -138,9 +139,10 @@ class ManualSearchQueueItem(generic_queue.QueueItem):
elif providerModule == None: elif providerModule == None:
ui.notifications.error('Provider is configured incorrectly, unable to download') ui.notifications.error('Provider is configured incorrectly, unable to download')
self.success = result # just use the first result for now
logger.log(u"Downloading " + foundResult.name + " from " + foundResult.provider.name)
self.finish() self.success = result
def process(self, curProvider): def process(self, curProvider):
if self.ep_obj.show.air_by_date: if self.ep_obj.show.air_by_date:
@ -154,9 +156,9 @@ class ManualSearchQueueItem(generic_queue.QueueItem):
# don't let this linger if something goes wrong # don't let this linger if something goes wrong
if self.success == None: if self.success == None:
self.success = False self.success = False
else:
generic_queue.QueueItem.finish(self) generic_queue.QueueItem.finish(self)
class RSSSearchQueueItem(generic_queue.QueueItem): class RSSSearchQueueItem(generic_queue.QueueItem):
def __init__(self): def __init__(self):
generic_queue.QueueItem.__init__(self, 'RSS Search', RSS_SEARCH) generic_queue.QueueItem.__init__(self, 'RSS Search', RSS_SEARCH)
@ -186,7 +188,11 @@ class RSSSearchQueueItem(generic_queue.QueueItem):
if len(foundResults): if len(foundResults):
for curResult in [item for sublist in foundResults for item in sublist]: for curResult in [item for sublist in foundResults for item in sublist]:
time.sleep(0.01) time.sleep(0.01)
search.snatchEpisode(curResult) result = search.snatchEpisode(curResult)
# duplicate snatch detected due to multithreading
if result == 2:
continue
else: else:
logger.log(u"RSS Feed search found nothing to snatch ...") logger.log(u"RSS Feed search found nothing to snatch ...")
@ -289,7 +295,12 @@ class BacklogQueueItem(generic_queue.QueueItem):
for curResult in [item for sublist in foundResults for item in sublist]: for curResult in [item for sublist in foundResults for item in sublist]:
time.sleep(0.01) time.sleep(0.01)
search.snatchEpisode(curResult) result = search.snatchEpisode(curResult)
# duplicate snatch detected due to multithreading
if result == 2:
continue
else: else:
logger.log(u"Backlog search found nothing to snatch ...") logger.log(u"Backlog search found nothing to snatch ...")
@ -365,7 +376,13 @@ class FailedQueueItem(generic_queue.QueueItem):
for curResult in [item for sublist in foundResults for item in sublist]: for curResult in [item for sublist in foundResults for item in sublist]:
time.sleep(0.01) time.sleep(0.01)
self.success = search.snatchEpisode(curResult) result = search.snatchEpisode(curResult)
# duplicate snatch detected due to multithreading
if result == 2:
continue
self.success = result
else: else:
logger.log(u"Retry failed download search found nothing to snatch ...") logger.log(u"Retry failed download search found nothing to snatch ...")

View File

@ -18,6 +18,7 @@
from __future__ import with_statement from __future__ import with_statement
import time
import os.path import os.path
import datetime import datetime
import threading import threading