diff --git a/plexpy/__init__.py b/plexpy/__init__.py index c2e9b4ae..d27cd396 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -638,14 +638,16 @@ 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, subtitle_language TEXT, stream_bitrate INTEGER, stream_video_resolution TEXT, quality_profile TEXT, ' + 'subtitle_codec TEXT, subtitle_forced INTEGER, 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, stream_subtitle_language TEXT, ' + 'subtitles INTEGER, stream_subtitle_decision TEXT, stream_subtitle_codec TEXT, ' + 'stream_subtitle_forced INTEGER, 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,7 +686,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,' + 'subtitles INTEGER, subtitle_codec TEXT, subtitle_forced, 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, ' @@ -1387,6 +1389,18 @@ def dbcheck(): 'ALTER TABLE sessions ADD COLUMN stream_subtitle_language TEXT' ) + # Upgrade sessions table from earlier versions + try: + c_db.execute('SELECT subtitle_forced FROM sessions') + except sqlite3.OperationalError: + logger.debug(u"Altering database. Updating database table sessions.") + c_db.execute( + 'ALTER TABLE sessions ADD COLUMN subtitle_forced INTEGER' + ) + c_db.execute( + 'ALTER TABLE sessions ADD COLUMN stream_subtitle_forced INTEGER' + ) + # Upgrade session_history table from earlier versions try: c_db.execute('SELECT reference_id FROM session_history') @@ -1796,6 +1810,15 @@ def dbcheck(): 'ALTER TABLE session_history_media_info ADD COLUMN stream_subtitle_language TEXT' ) + # Upgrade session_history_media_info table from earlier versions + try: + c_db.execute('SELECT subtitle_forced 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_forced INTEGER' + ) + # Upgrade session_history table from earlier versions try: c_db.execute('SELECT section_id FROM session_history')