From 9151a986560add9b93b91f2d82d7299a12c13001 Mon Sep 17 00:00:00 2001 From: theguardian Date: Wed, 9 Oct 2013 00:08:30 -0700 Subject: [PATCH] I blame my cat for these oops-ies --- data/interfaces/default/index.html | 2 +- headphones/__init__.py | 163 +++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 1 deletion(-) diff --git a/data/interfaces/default/index.html b/data/interfaces/default/index.html index e0201252..b67aaf7d 100644 --- a/data/interfaces/default/index.html +++ b/data/interfaces/default/index.html @@ -69,7 +69,7 @@ } if (artist['ReleaseInFuture'] === 'True') { - grade = 'gradeA';6666666666666666 + grade = 'gradeA'; } else { diff --git a/headphones/__init__.py b/headphones/__init__.py index 758b28dc..d99bf819 100644 --- a/headphones/__init__.py +++ b/headphones/__init__.py @@ -954,6 +954,169 @@ def dbcheck(): c.execute('CREATE INDEX IF NOT EXISTS tracks_albumid ON tracks(AlbumID ASC)') c.execute('CREATE INDEX IF NOT EXISTS album_artistid_reldate ON albums(ArtistID ASC, ReleaseDate DESC)') + try: + c.execute('SELECT IncludeExtras from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN IncludeExtras INTEGER DEFAULT 0') + + try: + c.execute('SELECT LatestAlbum from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN LatestAlbum TEXT') + + try: + c.execute('SELECT ReleaseDate from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN ReleaseDate TEXT') + + try: + c.execute('SELECT AlbumID from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN AlbumID TEXT') + + try: + c.execute('SELECT HaveTracks from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN HaveTracks INTEGER DEFAULT 0') + + try: + c.execute('SELECT TotalTracks from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN TotalTracks INTEGER DEFAULT 0') + + try: + c.execute('SELECT Type from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN Type TEXT DEFAULT "Album"') + + try: + c.execute('SELECT TrackNumber from tracks') + except sqlite3.OperationalError: + c.execute('ALTER TABLE tracks ADD COLUMN TrackNumber INTEGER') + + try: + c.execute('SELECT FolderName from snatched') + except sqlite3.OperationalError: + c.execute('ALTER TABLE snatched ADD COLUMN FolderName TEXT') + + try: + c.execute('SELECT Location from tracks') + except sqlite3.OperationalError: + c.execute('ALTER TABLE tracks ADD COLUMN Location TEXT') + + try: + c.execute('SELECT Location from have') + except sqlite3.OperationalError: + c.execute('ALTER TABLE have ADD COLUMN Location TEXT') + + try: + c.execute('SELECT BitRate from tracks') + except sqlite3.OperationalError: + c.execute('ALTER TABLE tracks ADD COLUMN BitRate INTEGER') + + try: + c.execute('SELECT CleanName from tracks') + except sqlite3.OperationalError: + c.execute('ALTER TABLE tracks ADD COLUMN CleanName TEXT') + + try: + c.execute('SELECT CleanName from have') + except sqlite3.OperationalError: + c.execute('ALTER TABLE have ADD COLUMN CleanName TEXT') + + # Add the Format column + try: + c.execute('SELECT Format from have') + except sqlite3.OperationalError: + c.execute('ALTER TABLE have ADD COLUMN Format TEXT DEFAULT NULL') + + try: + c.execute('SELECT Format from tracks') + except sqlite3.OperationalError: + c.execute('ALTER TABLE tracks ADD COLUMN Format TEXT DEFAULT NULL') + + try: + c.execute('SELECT LastUpdated from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN LastUpdated TEXT DEFAULT NULL') + + try: + c.execute('SELECT ArtworkURL from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN ArtworkURL TEXT DEFAULT NULL') + + try: + c.execute('SELECT ArtworkURL from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN ArtworkURL TEXT DEFAULT NULL') + + try: + c.execute('SELECT ThumbURL from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN ThumbURL TEXT DEFAULT NULL') + + try: + c.execute('SELECT ThumbURL from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN ThumbURL TEXT DEFAULT NULL') + + try: + c.execute('SELECT ArtistID from descriptions') + except sqlite3.OperationalError: + c.execute('ALTER TABLE descriptions ADD COLUMN ArtistID TEXT DEFAULT NULL') + + try: + c.execute('SELECT LastUpdated from descriptions') + except sqlite3.OperationalError: + c.execute('ALTER TABLE descriptions ADD COLUMN LastUpdated TEXT DEFAULT NULL') + + try: + c.execute('SELECT ReleaseID from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN ReleaseID TEXT DEFAULT NULL') + + try: + c.execute('SELECT ReleaseFormat from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN ReleaseFormat TEXT DEFAULT NULL') + + try: + c.execute('SELECT ReleaseCountry from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN ReleaseCountry TEXT DEFAULT NULL') + + try: + c.execute('SELECT ReleaseID from tracks') + except sqlite3.OperationalError: + c.execute('ALTER TABLE tracks ADD COLUMN ReleaseID TEXT DEFAULT NULL') + + try: + c.execute('SELECT Matched from have') + except sqlite3.OperationalError: + c.execute('ALTER TABLE have ADD COLUMN Matched TEXT DEFAULT NULL') + + try: + c.execute('SELECT Extras from artists') + except sqlite3.OperationalError: + c.execute('ALTER TABLE artists ADD COLUMN Extras TEXT DEFAULT NULL') + # Need to update some stuff when people are upgrading and have 'include extras' set globally/for an artist + if INCLUDE_EXTRAS: + EXTRAS = "1,2,3,4,5,6,7,8" + logger.info("Copying over current artist IncludeExtras information") + artists = c.execute('SELECT ArtistID, IncludeExtras from artists').fetchall() + for artist in artists: + if artist[1]: + c.execute('UPDATE artists SET Extras=? WHERE ArtistID=?', ("1,2,3,4,5,6,7,8", artist[0])) + + try: + c.execute('SELECT Kind from snatched') + except sqlite3.OperationalError: + c.execute('ALTER TABLE snatched ADD COLUMN Kind TEXT DEFAULT NULL') + + try: + c.execute('SELECT SearchTerm from albums') + except sqlite3.OperationalError: + c.execute('ALTER TABLE albums ADD COLUMN SearchTerm TEXT DEFAULT NULL') conn.commit()