From 1490814686233dc8a693bd54e0d09b74131ea313 Mon Sep 17 00:00:00 2001 From: miigotu <miigotu@gmail.com> Date: Sat, 5 Dec 2015 18:32:36 -0800 Subject: [PATCH] Fix error with sql when checking should_update for ended shows (this never worked before, everything was ALWAYS null because of checking is some values where = 'x' and the columns are numeric Also, make it 0 when the WHERE causes it to have no rows to calculate min or max Fixes https://github.com/SickRage/sickrage-issues/issues/151 --- sickbeard/tv.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sickbeard/tv.py b/sickbeard/tv.py index 9b346c3d2..4136255b8 100644 --- a/sickbeard/tv.py +++ b/sickbeard/tv.py @@ -302,21 +302,21 @@ class TVShow(object): # get latest aired episode to compare against today - graceperiod and today + graceperiod myDB = db.DBConnection() sql_result = myDB.select( - "SELECT MAX(airdate) FROM tv_episodes WHERE showid = ? AND season > '0' AND airdate > '1' AND status > '1'", + "SELECT IFNULL(MAX(airdate), 0) as last_aired FROM tv_episodes WHERE showid = ? AND season > 0 AND airdate > 1 AND status > 1", [self.indexerid]) - if sql_result: - last_airdate = datetime.date.fromordinal(sql_result[0][0]) + if sql_result and sql_result[0]['last_aired'] != 0: + last_airdate = datetime.date.fromordinal(sql_result[0]['last_aired']) if last_airdate >= (update_date - graceperiod) and last_airdate <= (update_date + graceperiod): return True # get next upcoming UNAIRED episode to compare against today + graceperiod sql_result = myDB.select( - "SELECT MIN(airdate) FROM tv_episodes WHERE showid = ? AND season > '0' AND airdate > '1' AND status = '1'", + "SELECT IFNULL(MIN(airdate), 0) as airing_next FROM tv_episodes WHERE showid = ? AND season > 0 AND airdate > 1 AND status = 1", [self.indexerid]) - if sql_result: - next_airdate = datetime.date.fromordinal(sql_result[0][0]) + if sql_result and sql_result[0]['airing_next'] != 0: + next_airdate = datetime.date.fromordinal(sql_result[0]['airing_next']) if next_airdate <= (update_date + graceperiod): return True -- GitLab