diff --git a/gui/slick/interfaces/default/inc_bottom.tmpl b/gui/slick/interfaces/default/inc_bottom.tmpl
index fd44b668..d735b3be 100644
--- a/gui/slick/interfaces/default/inc_bottom.tmpl
+++ b/gui/slick/interfaces/default/inc_bottom.tmpl
@@ -14,6 +14,8 @@
#set $numDLEpisodes = $myDB.select("SELECT COUNT(*) FROM tv_episodes WHERE status IN ("+",".join([str(x) for x in $Quality.DOWNLOADED + [$ARCHIVED]])+") AND season != 0 and episode != 0 AND airdate <= "+$today+"")[0][0]
#set $numEpisodes = $myDB.select("SELECT COUNT(*) FROM tv_episodes WHERE season != 0 and episode != 0 AND (airdate != 1 OR status IN ("+",".join([str(x) for x in ($Quality.DOWNLOADED + $Quality.SNATCHED + $Quality.SNATCHED_PROPER) + [$ARCHIVED]])+")) AND airdate <= "+$today+" AND status != "+str($IGNORED)+"")[0][0]
$numShows shows ($numGoodShows active) | $numDLEpisodes/$numEpisodes episodes downloaded |
+RSS Update: <%=str(sickbeard.updateRSSScheduler.timeLeft()).split('.')[0]%> |
+Daily Search: <%=str(sickbeard.dailySearchScheduler.timeLeft()).split('.')[0]%> |
Backlog: $sbdatetime.sbdatetime.sbfdate($sickbeard.backlogSearchScheduler.nextRun())
diff --git a/gui/slick/interfaces/default/manage_manageSearches.tmpl b/gui/slick/interfaces/default/manage_manageSearches.tmpl
index 426265fa..299aa024 100644
--- a/gui/slick/interfaces/default/manage_manageSearches.tmpl
+++ b/gui/slick/interfaces/default/manage_manageSearches.tmpl
@@ -35,6 +35,15 @@ In Progress
#end if
+RSS Cache Update:
+ Force
+#if not $rssStatus:
+Not in progress
+#else:
+In Progress
+#end if
+
+
Version Check:
Force Check
diff --git a/lib/dateutil/zoneinfo/.gitignore b/lib/dateutil/zoneinfo/.gitignore
new file mode 100644
index 00000000..335ec957
--- /dev/null
+++ b/lib/dateutil/zoneinfo/.gitignore
@@ -0,0 +1 @@
+*.tar.gz
diff --git a/sickbeard/rssupdater.py b/sickbeard/rssupdater.py
index 9a2b4eec..9b807307 100644
--- a/sickbeard/rssupdater.py
+++ b/sickbeard/rssupdater.py
@@ -31,6 +31,8 @@ class RSSUpdater():
self.amActive = False
def run(self):
+ self.amActive = True
+
# remove names from cache that link back to active shows that we watch
sickbeard.name_cache.syncNameCache()
@@ -38,4 +40,6 @@ class RSSUpdater():
providers = [x for x in sickbeard.providers.sortedProviderList() if x.isActive()]
for provider in providers:
logger.log(u"Updating RSS cache for provider [" + provider.name + "]")
- provider.cache.updateCache()
\ No newline at end of file
+ provider.cache.updateCache()
+
+ self.amActive = False
\ No newline at end of file
diff --git a/sickbeard/search.py b/sickbeard/search.py
index 54442cca..fefecb83 100644
--- a/sickbeard/search.py
+++ b/sickbeard/search.py
@@ -534,23 +534,23 @@ def searchProviders(queueItem, show, season, episodes, seasonSearch=False, manua
continue
# add result if its not a duplicate and
- if isFinalResult(bestResult):
- found = False
- for i, result in enumerate(queueItem.results):
- for bestResultEp in bestResult.episodes:
- if bestResultEp in result.episodes:
- if result.quality < bestResult.quality:
- queueItem.results.pop(i)
- else:
- found = True
- if not found:
- queueItem.results += [bestResult]
+ found = False
+ for i, result in enumerate(queueItem.results):
+ for bestResultEp in bestResult.episodes:
+ if bestResultEp in result.episodes:
+ if result.quality < bestResult.quality:
+ queueItem.results.pop(i)
+ else:
+ found = True
+ if not found:
+ queueItem.results += [bestResult]
+
# check that we got all the episodes we wanted first before doing a match and snatch
wantedEpCount = 0
for wantedEp in episodes:
for result in queueItem.results:
- if wantedEp in result.episodes:
+ if wantedEp in result.episodes and isFinalResult(result):
wantedEpCount += 1
# make sure we search every provider for results unless we found everything we wanted
diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py
index 4928c0e6..1369fde9 100644
--- a/sickbeard/webserve.py
+++ b/sickbeard/webserve.py
@@ -207,6 +207,7 @@ class ManageSearches:
t.backlogPaused = sickbeard.searchQueueScheduler.action.is_backlog_paused() # @UndefinedVariable
t.backlogRunning = sickbeard.searchQueueScheduler.action.is_backlog_in_progress() # @UndefinedVariable
t.searchStatus = sickbeard.dailySearchScheduler.action.amActive # @UndefinedVariable
+ t.rssStatus = sickbeard.updateRSSScheduler.action.amActive # @UndefinedVariable
t.submenu = ManageMenu()
@@ -219,7 +220,18 @@ class ManageSearches:
result = sickbeard.dailySearchScheduler.forceRun()
if result:
logger.log(u"Daily search forced")
- ui.notifications.message('Daily search started',
+ ui.notifications.message('Daily search for new releases started')
+
+ redirect("/manage/manageSearches/")
+
+ @cherrypy.expose
+ def forceRSS(self):
+
+ # force it to run the next time it looks
+ result = sickbeard.updateRSSScheduler.forceRun()
+ if result:
+ logger.log(u"RSS cache update forced")
+ ui.notifications.message('RSS cache update started',
'Note: RSS feeds may not be updated if retrieved recently')
redirect("/manage/manageSearches/")