Private GIT

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

Merge pull request #1936 from miigotu/invalid-airdate-correction

Fix for potential bad episode airdates preventing SR from starting.
parents 30152d84 759a825b
Branches
Tags
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