Private GIT

Skip to content
Snippets Groups Projects
Commit 759a825b authored by Dustyn Gibson's avatar Dustyn Gibson
Browse files

Fix for potential bad episode airdates preventing SR from starting.

parent 30152d84
No related branches found
No related tags found
No related merge requests found
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#set $sql_statement += ' OR (status IN ' + status_quality + ') OR (status IN ' + status_download + '))) AS ep_total, ' #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 >= ' + $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_statement += ' FROM tv_episodes tv_eps GROUP BY showid'
#set $sql_result = $myDB.select($sql_statement) #set $sql_result = $myDB.select($sql_statement)
......
...@@ -38,6 +38,7 @@ class MainSanityCheck(db.DBSanityCheck): ...@@ -38,6 +38,7 @@ class MainSanityCheck(db.DBSanityCheck):
self.fix_unaired_episodes() self.fix_unaired_episodes()
self.fix_tvrage_show_statues() self.fix_tvrage_show_statues()
self.fix_episode_statuses() self.fix_episode_statuses()
self.fix_invalid_airdates()
def fix_duplicate_shows(self, column='indexer_id'): def fix_duplicate_shows(self, column='indexer_id'):
...@@ -176,6 +177,20 @@ class MainSanityCheck(db.DBSanityCheck): ...@@ -176,6 +177,20 @@ class MainSanityCheck(db.DBSanityCheck):
else: else:
logger.log(u"No MALFORMED episode statuses, check passed", logger.DEBUG) 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): def backupDatabase(version):
logger.log(u"Backing up database before upgrade") logger.log(u"Backing up database before upgrade")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment