diff --git a/plexpy/__init__.py b/plexpy/__init__.py index e4f64b45..c2e9b4ae 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -638,14 +638,14 @@ def dbcheck(): 'video_framerate TEXT, video_scan_type TEXT, video_full_resolution TEXT, ' 'video_dynamic_range TEXT, aspect_ratio TEXT, ' 'audio_codec TEXT, audio_bitrate INTEGER, audio_channels INTEGER, audio_language TEXT, audio_language_code TEXT, ' - 'subtitle_codec TEXT, stream_bitrate INTEGER, stream_video_resolution TEXT, quality_profile TEXT, ' + 'subtitle_codec TEXT, subtitle_language TEXT, stream_bitrate INTEGER, stream_video_resolution TEXT, quality_profile TEXT, ' 'stream_container_decision TEXT, stream_container TEXT, ' 'stream_video_decision TEXT, stream_video_codec TEXT, stream_video_bitrate INTEGER, stream_video_width INTEGER, ' 'stream_video_height INTEGER, stream_video_framerate TEXT, stream_video_scan_type TEXT, stream_video_full_resolution TEXT, ' 'stream_video_dynamic_range TEXT, ' 'stream_audio_decision TEXT, stream_audio_codec TEXT, stream_audio_bitrate INTEGER, stream_audio_channels INTEGER, ' 'stream_audio_language TEXT, stream_audio_language_code TEXT, ' - 'subtitles INTEGER, stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, ' + 'subtitles INTEGER, stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, stream_subtitle_language TEXT, ' 'transcode_protocol TEXT, transcode_container TEXT, ' 'transcode_video_codec TEXT, transcode_audio_codec TEXT, transcode_audio_channels INTEGER,' 'transcode_width INTEGER, transcode_height INTEGER, ' @@ -684,6 +684,7 @@ def dbcheck(): 'video_codec TEXT, video_codec_level TEXT, video_width INTEGER, video_height INTEGER, video_resolution TEXT, ' 'video_framerate TEXT, video_scan_type TEXT, video_full_resolution TEXT, video_dynamic_range TEXT, aspect_ratio TEXT, ' 'audio_bitrate INTEGER, audio_codec TEXT, audio_channels INTEGER, audio_language TEXT, audio_language_code TEXT, ' + 'subtitles INTEGER, subtitle_codec TEXT, subtitle_language TEXT,' 'transcode_protocol TEXT, transcode_container TEXT, transcode_video_codec TEXT, transcode_audio_codec TEXT, ' 'transcode_audio_channels INTEGER, transcode_width INTEGER, transcode_height INTEGER, ' 'transcode_hw_requested INTEGER, transcode_hw_full_pipeline INTEGER, ' @@ -695,8 +696,9 @@ def dbcheck(): 'stream_video_framerate TEXT, stream_video_scan_type TEXT, stream_video_full_resolution TEXT, stream_video_dynamic_range TEXT, ' 'stream_audio_decision TEXT, stream_audio_codec TEXT, stream_audio_bitrate INTEGER, stream_audio_channels INTEGER, ' 'stream_audio_language TEXT, stream_audio_language_code TEXT, ' - 'stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, stream_subtitle_container TEXT, stream_subtitle_forced INTEGER, ' - 'subtitles INTEGER, subtitle_codec TEXT, synced_version INTEGER, synced_version_profile TEXT, ' + 'stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, ' + 'stream_subtitle_container TEXT, stream_subtitle_forced INTEGER, stream_subtitle_language TEXT, ' + 'synced_version INTEGER, synced_version_profile TEXT, ' 'optimized_version INTEGER, optimized_version_profile TEXT, optimized_version_title TEXT)' ) @@ -1373,6 +1375,18 @@ def dbcheck(): 'ALTER TABLE sessions ADD COLUMN stream_audio_language_code TEXT' ) + # Upgrade sessions table from earlier versions + try: + c_db.execute('SELECT subtitle_language FROM sessions') + except sqlite3.OperationalError: + logger.debug(u"Altering database. Updating database table sessions.") + c_db.execute( + 'ALTER TABLE sessions ADD COLUMN subtitle_language TEXT' + ) + c_db.execute( + 'ALTER TABLE sessions ADD COLUMN stream_subtitle_language TEXT' + ) + # Upgrade session_history table from earlier versions try: c_db.execute('SELECT reference_id FROM session_history') @@ -1770,6 +1784,18 @@ def dbcheck(): 'ALTER TABLE session_history_media_info ADD COLUMN stream_audio_language_code TEXT' ) + # Upgrade session_history_media_info table from earlier versions + try: + c_db.execute('SELECT subtitle_language FROM session_history_media_info') + except sqlite3.OperationalError: + logger.debug("Altering database. Updating database table session_history_media_info.") + c_db.execute( + 'ALTER TABLE session_history_media_info ADD COLUMN subtitle_language TEXT' + ) + c_db.execute( + 'ALTER TABLE session_history_media_info ADD COLUMN stream_subtitle_language TEXT' + ) + # Upgrade session_history table from earlier versions try: c_db.execute('SELECT section_id FROM session_history')