diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 151cabe7..7d5fb00d 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -1443,56 +1443,6 @@ def dbcheck(): except sqlite3.OperationalError: logger.warn("Unable to capitalize Windows platform values in session_history table.") - # Upgrade session_history table from earlier versions - try: - c_db.execute('SELECT section_id FROM session_history') - except sqlite3.OperationalError: - logger.debug("Altering database. Updating database table session_history.") - c_db.execute( - 'ALTER TABLE session_history ADD COLUMN section_id INTEGER' - ) - c_db.execute( - 'UPDATE session_history SET section_id = (' - 'SELECT section_id FROM session_history_metadata ' - 'WHERE session_history_metadata.id = session_history.id)' - ) - c_db.execute( - 'CREATE TABLE IF NOT EXISTS session_history_metadata_temp (id INTEGER PRIMARY KEY, ' - 'rating_key INTEGER, parent_rating_key INTEGER, grandparent_rating_key INTEGER, ' - 'title TEXT, parent_title TEXT, grandparent_title TEXT, original_title TEXT, full_title TEXT, ' - 'media_index INTEGER, parent_media_index INTEGER, ' - 'thumb TEXT, parent_thumb TEXT, grandparent_thumb TEXT, ' - 'art TEXT, media_type TEXT, year INTEGER, originally_available_at TEXT, added_at INTEGER, updated_at INTEGER, ' - 'last_viewed_at INTEGER, content_rating TEXT, summary TEXT, tagline TEXT, rating TEXT, ' - 'duration INTEGER DEFAULT 0, guid TEXT, directors TEXT, writers TEXT, actors TEXT, genres TEXT, studio TEXT, ' - 'labels TEXT, live INTEGER DEFAULT 0, channel_call_sign TEXT, channel_identifier TEXT, channel_thumb TEXT)' - ) - c_db.execute( - 'INSERT INTO session_history_metadata_temp (id, rating_key, parent_rating_key, grandparent_rating_key, ' - 'title, parent_title, grandparent_title, original_title, full_title, ' - 'media_index, parent_media_index, ' - 'thumb, parent_thumb, grandparent_thumb, ' - 'art, media_type, year, originally_available_at, added_at, updated_at, ' - 'last_viewed_at, content_rating, summary, tagline, rating, ' - 'duration, guid, directors, writers, actors, genres, studio, ' - 'labels, live, channel_call_sign, channel_identifier, channel_thumb) ' - 'SELECT id, rating_key, parent_rating_key, grandparent_rating_key, ' - 'title, parent_title, grandparent_title, original_title, full_title, ' - 'media_index, parent_media_index, ' - 'thumb, parent_thumb, grandparent_thumb, ' - 'art, media_type, year, originally_available_at, added_at, updated_at, ' - 'last_viewed_at, content_rating, summary, tagline, rating, ' - 'duration, guid, directors, writers, actors, genres, studio, ' - 'labels, live, channel_call_sign, channel_identifier, channel_thumb ' - 'FROM session_history_metadata' - ) - c_db.execute( - 'DROP TABLE session_history_metadata' - ) - c_db.execute( - 'ALTER TABLE session_history_metadata_temp RENAME TO session_history_metadata' - ) - # Upgrade session_history_metadata table from earlier versions try: c_db.execute('SELECT full_title FROM session_history_metadata') @@ -1816,6 +1766,56 @@ def dbcheck(): 'ALTER TABLE session_history_media_info ADD COLUMN stream_audio_language_code TEXT' ) + # Upgrade session_history table from earlier versions + try: + c_db.execute('SELECT section_id FROM session_history') + except sqlite3.OperationalError: + logger.debug("Altering database. Updating database table session_history.") + c_db.execute( + 'ALTER TABLE session_history ADD COLUMN section_id INTEGER' + ) + c_db.execute( + 'UPDATE session_history SET section_id = (' + 'SELECT section_id FROM session_history_metadata ' + 'WHERE session_history_metadata.id = session_history.id)' + ) + c_db.execute( + 'CREATE TABLE IF NOT EXISTS session_history_metadata_temp (id INTEGER PRIMARY KEY, ' + 'rating_key INTEGER, parent_rating_key INTEGER, grandparent_rating_key INTEGER, ' + 'title TEXT, parent_title TEXT, grandparent_title TEXT, original_title TEXT, full_title TEXT, ' + 'media_index INTEGER, parent_media_index INTEGER, ' + 'thumb TEXT, parent_thumb TEXT, grandparent_thumb TEXT, ' + 'art TEXT, media_type TEXT, year INTEGER, originally_available_at TEXT, added_at INTEGER, updated_at INTEGER, ' + 'last_viewed_at INTEGER, content_rating TEXT, summary TEXT, tagline TEXT, rating TEXT, ' + 'duration INTEGER DEFAULT 0, guid TEXT, directors TEXT, writers TEXT, actors TEXT, genres TEXT, studio TEXT, ' + 'labels TEXT, live INTEGER DEFAULT 0, channel_call_sign TEXT, channel_identifier TEXT, channel_thumb TEXT)' + ) + c_db.execute( + 'INSERT INTO session_history_metadata_temp (id, rating_key, parent_rating_key, grandparent_rating_key, ' + 'title, parent_title, grandparent_title, original_title, full_title, ' + 'media_index, parent_media_index, ' + 'thumb, parent_thumb, grandparent_thumb, ' + 'art, media_type, year, originally_available_at, added_at, updated_at, ' + 'last_viewed_at, content_rating, summary, tagline, rating, ' + 'duration, guid, directors, writers, actors, genres, studio, ' + 'labels, live, channel_call_sign, channel_identifier, channel_thumb) ' + 'SELECT id, rating_key, parent_rating_key, grandparent_rating_key, ' + 'title, parent_title, grandparent_title, original_title, full_title, ' + 'media_index, parent_media_index, ' + 'thumb, parent_thumb, grandparent_thumb, ' + 'art, media_type, year, originally_available_at, added_at, updated_at, ' + 'last_viewed_at, content_rating, summary, tagline, rating, ' + 'duration, guid, directors, writers, actors, genres, studio, ' + 'labels, live, channel_call_sign, channel_identifier, channel_thumb ' + 'FROM session_history_metadata' + ) + c_db.execute( + 'DROP TABLE session_history_metadata' + ) + c_db.execute( + 'ALTER TABLE session_history_metadata_temp RENAME TO session_history_metadata' + ) + # Upgrade users table from earlier versions try: c_db.execute('SELECT do_notify FROM users')