diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 2590c867..10d153d1 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -660,7 +660,8 @@ def dbcheck(): "transcode_hw_decoding INTEGER, transcode_hw_encoding INTEGER, " "optimized_version INTEGER, optimized_version_profile TEXT, optimized_version_title TEXT, " "synced_version INTEGER, synced_version_profile TEXT, " - "live INTEGER, live_uuid TEXT, channel_call_sign TEXT, channel_identifier TEXT, channel_thumb TEXT, " + "live INTEGER, live_uuid TEXT, " + "channel_call_sign TEXT, channel_id TEXT, channel_identifier TEXT, channel_title TEXT, channel_thumb TEXT, channel_vcn TEXT, " "secure INTEGER, relayed INTEGER, " "buffer_count INTEGER DEFAULT 0, buffer_last_triggered INTEGER, last_paused INTEGER, watched INTEGER DEFAULT 0, " "intro INTEGER DEFAULT 0, credits INTEGER DEFAULT 0, commercial INTEGER DEFAULT 0, marker INTEGER DEFAULT 0, " @@ -721,7 +722,8 @@ def dbcheck(): "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, " + "labels TEXT, live INTEGER DEFAULT 0, " + "channel_call_sign TEXT, channel_id TEXT, channel_identifier TEXT, channel_title TEXT, channel_thumb TEXT, channel_vcn TEXT, " "marker_credits_first INTEGER DEFAULT NULL, marker_credits_final INTEGER DEFAULT NULL)" ) @@ -1443,6 +1445,21 @@ def dbcheck(): "ALTER TABLE sessions ADD COLUMN marker INTEGER DEFAULT 0" ) + # Upgrade sessions table from earlier versions + try: + c_db.execute("SELECT channel_id FROM sessions") + except sqlite3.OperationalError: + logger.debug("Altering database. Updating database table sessions.") + c_db.execute( + "ALTER TABLE sessions ADD COLUMN channel_id TEXT" + ) + c_db.execute( + "ALTER TABLE sessions ADD COLUMN channel_title TEXT" + ) + c_db.execute( + "ALTER TABLE sessions ADD COLUMN channel_vcn TEXT" + ) + # Upgrade session_history table from earlier versions try: c_db.execute("SELECT reference_id FROM session_history") @@ -1583,6 +1600,21 @@ def dbcheck(): "ALTER TABLE session_history_metadata ADD COLUMN marker_credits_final INTEGER DEFAULT NULL" ) + # Upgrade session_history_metadata table from earlier versions + try: + c_db.execute("SELECT channel_id FROM session_history_metadata") + except sqlite3.OperationalError: + logger.debug("Altering database. Updating database table session_history_metadata.") + c_db.execute( + "ALTER TABLE session_history_metadata ADD COLUMN channel_id TEXT" + ) + c_db.execute( + "ALTER TABLE session_history_metadata ADD COLUMN channel_title TEXT" + ) + c_db.execute( + "ALTER TABLE session_history_metadata ADD COLUMN channel_vcn TEXT" + ) + # Upgrade session_history_media_info table from earlier versions try: c_db.execute("SELECT transcode_decision FROM session_history_media_info") diff --git a/plexpy/activity_processor.py b/plexpy/activity_processor.py index 0de08564..96982101 100644 --- a/plexpy/activity_processor.py +++ b/plexpy/activity_processor.py @@ -150,8 +150,11 @@ class ActivityProcessor(object): 'rating_key_websocket': session.get('rating_key_websocket', ''), 'raw_stream_info': json.dumps(session), 'channel_call_sign': session.get('channel_call_sign', ''), + 'channel_id': session.get('channel_id', ''), 'channel_identifier': session.get('channel_identifier', ''), + 'channel_title': session.get('channel_title', ''), 'channel_thumb': session.get('channel_thumb', ''), + 'channel_vcn': session.get('channel_vcn', ''), 'stopped': helpers.timestamp() } @@ -470,8 +473,11 @@ class ActivityProcessor(object): 'labels': labels, 'live': session['live'], 'channel_call_sign': media_info.get('channel_call_sign', ''), + 'channel_id': media_info.get('channel_id', ''), 'channel_identifier': media_info.get('channel_identifier', ''), + 'channel_title': media_info.get('channel_title', ''), 'channel_thumb': media_info.get('channel_thumb', ''), + 'channel_vcn': media_info.get('channel_vcn', ''), 'marker_credits_first': marker_credits_first, 'marker_credits_final': marker_credits_final }