mirror of
https://github.com/moparisthebest/SickRage
synced 2024-12-12 11:02:21 -05:00
Fix for Next Ep airdates.
Added check for hidden folders in post-processing. Cleaned up daily search function.
This commit is contained in:
parent
e3da060000
commit
9cd9576232
Binary file not shown.
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.3 KiB |
@ -45,27 +45,14 @@ class DailySearcher():
|
|||||||
# remove names from cache that link back to active shows that we watch
|
# remove names from cache that link back to active shows that we watch
|
||||||
sickbeard.name_cache.syncNameCache()
|
sickbeard.name_cache.syncNameCache()
|
||||||
|
|
||||||
logger.log(u"Updating RSS cache ...")
|
logger.log(u"Searching for coming episodes and 1 weeks worth of previously WANTED episodes ...")
|
||||||
|
|
||||||
origThreadName = threading.currentThread().name
|
|
||||||
providers = [x for x in sickbeard.providers.sortedProviderList() if x.isActive()]
|
|
||||||
for curProviderCount, curProvider in enumerate(providers):
|
|
||||||
threading.currentThread().name = origThreadName + " :: [" + curProvider.name + "]"
|
|
||||||
|
|
||||||
try:
|
|
||||||
curProvider.cache.updateCache()
|
|
||||||
except exceptions.AuthException, e:
|
|
||||||
logger.log(u"Authentication error: " + ex(e), logger.ERROR)
|
|
||||||
continue
|
|
||||||
|
|
||||||
logger.log(u"Checking to see if any shows have wanted episodes available for the last week ...")
|
|
||||||
|
|
||||||
fromDate = datetime.date.today() - datetime.timedelta(weeks=1)
|
fromDate = datetime.date.today() - datetime.timedelta(weeks=1)
|
||||||
toDate = datetime.date.today() + datetime.timedelta(days=1)
|
curDate = datetime.date.today()
|
||||||
|
|
||||||
myDB = db.DBConnection()
|
myDB = db.DBConnection()
|
||||||
sqlResults = myDB.select("SELECT * FROM tv_episodes WHERE status in (?,?) AND airdate >= ? AND airdate < ?",
|
sqlResults = myDB.select("SELECT * FROM tv_episodes WHERE status in (?,?) AND airdate >= ? AND airdate <= ?",
|
||||||
[common.UNAIRED, common.WANTED, fromDate.toordinal(), toDate.toordinal()])
|
[common.UNAIRED, common.WANTED, fromDate.toordinal(), curDate.toordinal()])
|
||||||
|
|
||||||
todaysEps = {}
|
todaysEps = {}
|
||||||
for sqlEp in sqlResults:
|
for sqlEp in sqlResults:
|
||||||
@ -87,6 +74,7 @@ class DailySearcher():
|
|||||||
ep.status = common.SKIPPED
|
ep.status = common.SKIPPED
|
||||||
else:
|
else:
|
||||||
if ep.status == common.UNAIRED:
|
if ep.status == common.UNAIRED:
|
||||||
|
logger.log(u"New episode " + ep.prettyName() + " airs today, setting status to WANTED")
|
||||||
ep.status = common.WANTED
|
ep.status = common.WANTED
|
||||||
|
|
||||||
ep.saveToDB()
|
ep.saveToDB()
|
||||||
@ -97,13 +85,10 @@ class DailySearcher():
|
|||||||
else:
|
else:
|
||||||
todaysEps[show].append(ep)
|
todaysEps[show].append(ep)
|
||||||
|
|
||||||
# reset thread name back to original
|
|
||||||
threading.currentThread().name = origThreadName
|
|
||||||
|
|
||||||
if len(todaysEps):
|
if len(todaysEps):
|
||||||
for show in todaysEps:
|
for show in todaysEps:
|
||||||
segment = todaysEps[show]
|
segment = todaysEps[show]
|
||||||
dailysearch_queue_item = sickbeard.search_queue.DailySearchQueueItem(show, segment)
|
dailysearch_queue_item = sickbeard.search_queue.DailySearchQueueItem(show, segment)
|
||||||
sickbeard.searchQueueScheduler.action.add_item(dailysearch_queue_item) #@UndefinedVariable
|
sickbeard.searchQueueScheduler.action.add_item(dailysearch_queue_item) #@UndefinedVariable
|
||||||
else:
|
else:
|
||||||
logger.log(u"Could not find any wanted show episodes going back 1 week at this current time ...")
|
logger.log(u"Could not find any needed episodes to search for ...")
|
@ -179,6 +179,10 @@ def validateDir(path, dirName, nzbNameOriginal, failed):
|
|||||||
process_failed(os.path.join(path, dirName), nzbNameOriginal)
|
process_failed(os.path.join(path, dirName), nzbNameOriginal)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
if helpers.is_hidden_folder(dirName):
|
||||||
|
returnStr += logHelper(u"Ignoring hidden folder: " + dirName, logger.DEBUG)
|
||||||
|
return False
|
||||||
|
|
||||||
# make sure the dir isn't inside a show dir
|
# make sure the dir isn't inside a show dir
|
||||||
myDB = db.DBConnection()
|
myDB = db.DBConnection()
|
||||||
sqlResults = myDB.select("SELECT * FROM tv_shows")
|
sqlResults = myDB.select("SELECT * FROM tv_shows")
|
||||||
@ -229,7 +233,6 @@ def validateDir(path, dirName, nzbNameOriginal, failed):
|
|||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def unRAR(path, rarFiles, force):
|
def unRAR(path, rarFiles, force):
|
||||||
global process_result, returnStr
|
global process_result, returnStr
|
||||||
|
|
||||||
|
@ -328,6 +328,8 @@ def searchForNeededEpisodes(episodes):
|
|||||||
threading.currentThread().name = origThreadName + " :: [" + curProvider.name + "]"
|
threading.currentThread().name = origThreadName + " :: [" + curProvider.name + "]"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
logger.log(u"Updating RSS cache ...")
|
||||||
|
curProvider.cache.updateCache()
|
||||||
logger.log(u"Searching RSS cache ...")
|
logger.log(u"Searching RSS cache ...")
|
||||||
curFoundResults = curProvider.searchRSS(episodes)
|
curFoundResults = curProvider.searchRSS(episodes)
|
||||||
except exceptions.AuthException, e:
|
except exceptions.AuthException, e:
|
||||||
|
@ -18,15 +18,12 @@
|
|||||||
|
|
||||||
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
|
||||||
import re
|
import re
|
||||||
import glob
|
import glob
|
||||||
from time import sleep
|
|
||||||
import traceback
|
import traceback
|
||||||
import shutil
|
|
||||||
|
|
||||||
import sickbeard
|
import sickbeard
|
||||||
|
|
||||||
@ -54,7 +51,6 @@ from common import DOWNLOADED, SNATCHED, SNATCHED_PROPER, SNATCHED_BEST, ARCHIVE
|
|||||||
UNKNOWN, FAILED
|
UNKNOWN, FAILED
|
||||||
from common import NAMING_DUPLICATE, NAMING_EXTEND, NAMING_LIMITED_EXTEND, NAMING_SEPARATED_REPEAT, \
|
from common import NAMING_DUPLICATE, NAMING_EXTEND, NAMING_LIMITED_EXTEND, NAMING_SEPARATED_REPEAT, \
|
||||||
NAMING_LIMITED_EXTEND_E_PREFIXED
|
NAMING_LIMITED_EXTEND_E_PREFIXED
|
||||||
from common import cpu_presets
|
|
||||||
|
|
||||||
class TVShow(object):
|
class TVShow(object):
|
||||||
def __init__(self, indexer, indexerid, lang=""):
|
def __init__(self, indexer, indexerid, lang=""):
|
||||||
@ -858,7 +854,7 @@ class TVShow(object):
|
|||||||
|
|
||||||
#Rename dict keys without spaces for DB upsert
|
#Rename dict keys without spaces for DB upsert
|
||||||
self.imdb_info = dict(
|
self.imdb_info = dict(
|
||||||
(k.replace(' ', '_'), f(v) if hasattr(v, 'keys') else v) for k, v in imdb_info.items())
|
(k.replace(' ', '_'), k(v) if hasattr(v, 'keys') else v) for k, v in imdb_info.items())
|
||||||
logger.log(str(self.indexerid) + u": Obtained info from IMDb ->" + str(self.imdb_info), logger.DEBUG)
|
logger.log(str(self.indexerid) + u": Obtained info from IMDb ->" + str(self.imdb_info), logger.DEBUG)
|
||||||
|
|
||||||
def nextEpisode(self):
|
def nextEpisode(self):
|
||||||
@ -866,10 +862,10 @@ class TVShow(object):
|
|||||||
logger.log(str(self.indexerid) + ": Finding the episode which airs next", logger.DEBUG)
|
logger.log(str(self.indexerid) + ": Finding the episode which airs next", logger.DEBUG)
|
||||||
|
|
||||||
myDB = db.DBConnection()
|
myDB = db.DBConnection()
|
||||||
innerQuery = "SELECT airdate FROM tv_episodes WHERE showid = ? AND airdate >= ? AND status = ? ORDER BY airdate ASC LIMIT 1"
|
innerQuery = "SELECT airdate FROM tv_episodes WHERE showid = ? AND airdate >= ? AND status in (?,?) ORDER BY airdate ASC LIMIT 1"
|
||||||
innerParams = [self.indexerid, datetime.date.today().toordinal(), UNAIRED]
|
innerParams = [self.indexerid, datetime.date.today().toordinal(), UNAIRED, WANTED]
|
||||||
query = "SELECT * FROM tv_episodes WHERE showid = ? AND airdate >= ? AND airdate <= (" + innerQuery + ") and status = ?"
|
query = "SELECT * FROM tv_episodes WHERE showid = ? AND airdate >= ? AND airdate <= (" + innerQuery + ") and status in (?,?)"
|
||||||
params = [self.indexerid, datetime.date.today().toordinal()] + innerParams + [UNAIRED]
|
params = [self.indexerid, datetime.date.today().toordinal()] + innerParams + [UNAIRED, WANTED]
|
||||||
sqlResults = myDB.select(query, params)
|
sqlResults = myDB.select(query, params)
|
||||||
|
|
||||||
if sqlResults == None or len(sqlResults) == 0:
|
if sqlResults == None or len(sqlResults) == 0:
|
||||||
|
Loading…
Reference in New Issue
Block a user