diff --git a/gui/slick/interfaces/default/home.tmpl b/gui/slick/interfaces/default/home.tmpl index ae4a05fc51a3fabd37db38f6da2e1ce204897a79..840b37cb23c48e4a1882d7bd5671df8ba907d32c 100644 --- a/gui/slick/interfaces/default/home.tmpl +++ b/gui/slick/interfaces/default/home.tmpl @@ -30,7 +30,7 @@ #set $sql_statement += ' OR (status IN ' + status_quality + ') OR (status IN ' + status_download + '))) AS ep_total, ' #set $sql_statement += ' (SELECT airdate FROM tv_episodes WHERE showid=tv_eps.showid AND airdate >= ' + $today + ' AND (status = ' + str($UNAIRED) + ' OR status = ' + str($WANTED) + ') ORDER BY airdate ASC LIMIT 1) AS ep_airs_next, ' -#set $sql_statement += ' (SELECT airdate FROM tv_episodes WHERE showid=tv_eps.showid AND airdate <> 1 AND status <> ' + str($UNAIRED) + ' ORDER BY airdate DESC LIMIT 1) AS ep_airs_prev ' +#set $sql_statement += ' (SELECT airdate FROM tv_episodes WHERE showid=tv_eps.showid AND airdate > 1 AND status <> ' + str($UNAIRED) + ' ORDER BY airdate DESC LIMIT 1) AS ep_airs_prev ' #set $sql_statement += ' FROM tv_episodes tv_eps GROUP BY showid' #set $sql_result = $myDB.select($sql_statement) diff --git a/sickbeard/databases/mainDB.py b/sickbeard/databases/mainDB.py index c73ae3067a6b642ae1b04592ecd349dafd6db462..2c9aefbc7ae3a992cb5c410ce8ee803cac8fbccd 100644 --- a/sickbeard/databases/mainDB.py +++ b/sickbeard/databases/mainDB.py @@ -38,6 +38,7 @@ class MainSanityCheck(db.DBSanityCheck): self.fix_unaired_episodes() self.fix_tvrage_show_statues() self.fix_episode_statuses() + self.fix_invalid_airdates() def fix_duplicate_shows(self, column='indexer_id'): @@ -176,6 +177,20 @@ class MainSanityCheck(db.DBSanityCheck): else: logger.log(u"No MALFORMED episode statuses, check passed", logger.DEBUG) + def fix_invalid_airdates(self): + + sqlResults = self.connection.select( + "SELECT episode_id, showid FROM tv_episodes WHERE airdate >= ? OR airdate < 1", + [datetime.date.max.toordinal()]) + + for bad_airdate in sqlResults: + logger.log(u"Bad episode airdate detected! episode_id: " + str(bad_airdate["episode_id"]) + " showid: " + str( + bad_airdate["showid"]), logger.DEBUG) + logger.log(u"Fixing bad episode airdate for episode_id: " + str(bad_airdate["episode_id"])) + self.connection.action("UPDATE tv_episodes SET airdate = '1' WHERE episode_id = ?", [bad_airdate["episode_id"]]) + + else: + logger.log(u"No bad episode airdates, check passed", logger.DEBUG) def backupDatabase(version): logger.log(u"Backing up database before upgrade")