From d974f5163072216e4e60bf5b3b5d38ca6bb2b095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20V=C3=A9zina?= <5130500+morpheus65535@users.noreply.github.com> Date: Fri, 24 May 2019 13:42:54 -0400 Subject: [PATCH] Continuing development. --- bazarr/config.py | 2 ++ bazarr/get_movies.py | 9 +++++---- bazarr/get_series.py | 9 +++++---- bazarr/main.py | 11 ++++++++++- views/settings.tpl | 42 ++++++++++++++++++++++++++++++++++++++++++ views/wizard.tpl | 41 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 105 insertions(+), 9 deletions(-) diff --git a/bazarr/config.py b/bazarr/config.py index 2bfdcf2bf..19c696ad7 100644 --- a/bazarr/config.py +++ b/bazarr/config.py @@ -25,9 +25,11 @@ defaults = { 'serie_default_enabled': 'False', 'serie_default_language': '[]', 'serie_default_hi': 'False', + 'serie_default_forced': 'False', 'movie_default_enabled': 'False', 'movie_default_language': '[]', 'movie_default_hi': 'False', + 'movie_default_forced': 'False', 'page_size': '25', 'minimum_score_movie': '70', 'use_embedded_subs': 'True', diff --git a/bazarr/get_movies.py b/bazarr/get_movies.py index 7e582ebbc..e1c320a2c 100644 --- a/bazarr/get_movies.py +++ b/bazarr/get_movies.py @@ -19,6 +19,7 @@ def update_movies(): movie_default_enabled = settings.general.getboolean('movie_default_enabled') movie_default_language = settings.general.movie_default_language movie_default_hi = settings.general.movie_default_hi + movie_default_forced = settings.general.movie_default_forced if apikey_radarr is None: pass @@ -135,7 +136,7 @@ def update_movies(): profile_id_to_language(movie['qualityProfileId']), sceneName, unicode(bool(movie['monitored'])), movie['sortTitle'], movie['year'], alternativeTitles, format, resolution, - videoCodec, audioCodec, imdbId)) + videoCodec, audioCodec, imdbId, movie_default_forced)) else: movies_to_add.append((movie["title"], movie["path"] + separator + movie['movieFile'][ @@ -144,7 +145,7 @@ def update_movies(): profile_id_to_language(movie['qualityProfileId']), sceneName, unicode(bool(movie['monitored'])), movie['sortTitle'], movie['year'], alternativeTitles, format, resolution, - videoCodec, audioCodec, imdbId)) + videoCodec, audioCodec, imdbId, movie["tmdbId"])) else: logging.error( 'BAZARR Radarr returned a movie without a file path: ' + movie["path"] + separator + @@ -161,12 +162,12 @@ def update_movies(): if movie_default_enabled is True: added_result = c.executemany( - '''INSERT OR IGNORE INTO table_movies(title, path, tmdbId, languages, subtitles,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName, monitored, sortTitle, year, alternativeTitles, format, resolution, video_codec, audio_codec, imdbId) VALUES (?,?,?,?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', + '''INSERT OR IGNORE INTO table_movies(title, path, tmdbId, languages, subtitles,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName, monitored, sortTitle, year, alternativeTitles, format, resolution, video_codec, audio_codec, imdbId, forced) VALUES (?,?,?,?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', movies_to_add) db.commit() else: added_result = c.executemany( - '''INSERT OR IGNORE INTO table_movies(title, path, tmdbId, languages, subtitles,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName, monitored, sortTitle, year, alternativeTitles, format, resolution, video_codec, audio_codec, imdbId) VALUES (?,?,?,(SELECT languages FROM table_movies WHERE tmdbId = ?), '[]',(SELECT `hearing_impaired` FROM table_movies WHERE tmdbId = ?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', + '''INSERT OR IGNORE INTO table_movies(title, path, tmdbId, languages, subtitles,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName, monitored, sortTitle, year, alternativeTitles, format, resolution, video_codec, audio_codec, imdbId, forced) VALUES (?,?,?,(SELECT languages FROM table_movies WHERE tmdbId = ?), '[]',(SELECT `hearing_impaired` FROM table_movies WHERE tmdbId = ?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, (SELECT `forced` FROM table_movies WHERE tmdbId = ?))''', movies_to_add) db.commit() diff --git a/bazarr/get_series.py b/bazarr/get_series.py index 21016d2e0..8d0b2df34 100644 --- a/bazarr/get_series.py +++ b/bazarr/get_series.py @@ -18,6 +18,7 @@ def update_series(): serie_default_enabled = settings.general.getboolean('serie_default_enabled') serie_default_language = settings.general.serie_default_language serie_default_hi = settings.general.serie_default_hi + serie_default_forced = settings.general.serie_default_forced if apikey_sonarr is None: pass @@ -86,12 +87,12 @@ def update_series(): series_to_add.append((show["title"], show["path"], show["tvdbId"], serie_default_language, serie_default_hi, show["id"], overview, poster, fanart, profile_id_to_language(show['qualityProfileId']), show['sortTitle'], - show['year'], alternateTitles)) + show['year'], alternateTitles, serie_default_forced)) else: series_to_add.append((show["title"], show["path"], show["tvdbId"], show["tvdbId"], show["tvdbId"], show["id"], overview, poster, fanart, profile_id_to_language(show['qualityProfileId']), show['sortTitle'], - show['year'], alternateTitles)) + show['year'], alternateTitles, show["id"])) # Update or insert series in DB db = sqlite3.connect(os.path.join(args.config_dir, 'db', 'bazarr.db'), timeout=30) @@ -104,12 +105,12 @@ def update_series(): if serie_default_enabled is True: added_result = c.executemany( - '''INSERT OR IGNORE INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle, year, alternateTitles) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', + '''INSERT OR IGNORE INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle, year, alternateTitles, forced) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', series_to_add) db.commit() else: added_result = c.executemany( - '''INSERT OR IGNORE INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle, year, alternateTitles) VALUES (?,?,?,(SELECT languages FROM table_shows WHERE tvdbId = ?),(SELECT `hearing_impaired` FROM table_shows WHERE tvdbId = ?), ?, ?, ?, ?, ?, ?, ?, ?)''', + '''INSERT OR IGNORE INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle, year, alternateTitles, forced) VALUES (?,?,?,(SELECT languages FROM table_shows WHERE tvdbId = ?),(SELECT `hearing_impaired` FROM table_shows WHERE tvdbId = ?), ?, ?, ?, ?, ?, ?, ?, ?, (SELECT `forced` FROM table_shows WHERE tvdbId = ?))''', series_to_add) db.commit() db.close() diff --git a/bazarr/main.py b/bazarr/main.py index ad2b276c9..34a613ebc 100644 --- a/bazarr/main.py +++ b/bazarr/main.py @@ -434,7 +434,10 @@ def save_wizard(): else: settings_movie_default_hi = 'True' settings.general.movie_default_hi = text_type(settings_movie_default_hi) - + + settings_movie_default_forced = str(request.forms.getall('settings_movie_default_forced')) + settings.general.movie_default_forced = text_type(settings_movie_default_forced) + with open(os.path.join(args.config_dir, 'config', 'config.ini'), 'w+') as handle: settings.write(handle) @@ -1527,6 +1530,9 @@ def save_settings(): settings_serie_default_hi = 'True' settings.general.serie_default_hi = text_type(settings_serie_default_hi) + settings_serie_default_forced = str(request.forms.get('settings_serie_default_forced')) + settings.general.serie_default_forced = text_type(settings_serie_default_forced) + settings_movie_default_enabled = request.forms.get('settings_movie_default_enabled') if settings_movie_default_enabled is None: settings_movie_default_enabled = 'False' @@ -1546,6 +1552,9 @@ def save_settings(): settings_movie_default_hi = 'True' settings.general.movie_default_hi = text_type(settings_movie_default_hi) + settings_movie_default_forced = str(request.forms.get('settings_movie_default_forced')) + settings.general.movie_default_forced = text_type(settings_movie_default_forced) + with open(os.path.join(args.config_dir, 'config', 'config.ini'), 'w+') as handle: settings.write(handle) diff --git a/views/settings.tpl b/views/settings.tpl index 04e21e885..0a638d5ff 100644 --- a/views/settings.tpl +++ b/views/settings.tpl @@ -2066,6 +2066,21 @@ + +
+
+ +
+
+
+ +
+
+
@@ -2123,6 +2138,21 @@ + +
+
+ +
+
+
+ +
+
+
@@ -2540,19 +2570,23 @@ if ($('#settings_serie_default_enabled_div').data("enabled") === "True") { $("#settings_serie_default_languages").removeClass('disabled'); $("#settings_serie_default_hi_div").removeClass('disabled'); + $("#settings_serie_default_forced_div").removeClass('disabled'); } else { $("#settings_serie_default_languages").addClass('disabled'); $("#settings_serie_default_hi_div").addClass('disabled'); + $("#settings_serie_default_forced_div").addClass('disabled'); } $('#settings_serie_default_enabled_div').checkbox({ onChecked: function() { $("#settings_serie_default_languages").parent().removeClass('disabled'); $("#settings_serie_default_hi_div").removeClass('disabled'); + $("#settings_serie_default_forced").parent().removeClass('disabled'); }, onUnchecked: function() { $("#settings_serie_default_languages").parent().addClass('disabled'); $("#settings_serie_default_hi_div").addClass('disabled'); + $("#settings_serie_default_forced").parent().addClass('disabled'); } }); @@ -2571,19 +2605,23 @@ if ($('#settings_movie_default_enabled_div').data("enabled") === "True") { $("#settings_movie_default_languages").removeClass('disabled'); $("#settings_movie_default_hi_div").removeClass('disabled'); + $("#settings_movie_default_forced_div").removeClass('disabled'); } else { $("#settings_movie_default_languages").addClass('disabled'); $("#settings_movie_default_hi_div").addClass('disabled'); + $("#settings_movie_default_forced_div").addClass('disabled'); } $('#settings_movie_default_enabled_div').checkbox({ onChecked: function() { $("#settings_movie_default_languages").parent().removeClass('disabled'); $("#settings_movie_default_hi_div").removeClass('disabled'); + $("#settings_movie_default_forced").parent().removeClass('disabled'); }, onUnchecked: function() { $("#settings_movie_default_languages").parent().addClass('disabled'); $("#settings_movie_default_hi_div").addClass('disabled'); + $("#settings_movie_default_forced").parent().addClass('disabled'); } }); @@ -2671,13 +2709,17 @@ $('#settings_providers').dropdown(); $('#settings_languages').dropdown(); $('#settings_serie_default_languages').dropdown(); + $('#settings_serie_default_forced').dropdown(); $('#settings_movie_default_languages').dropdown(); + $('#settings_movie_default_forced').dropdown(); %if settings.general.serie_default_language != 'None': $('#settings_serie_default_languages').dropdown('set selected',{{!settings.general.serie_default_language}}); %end + $('#settings_serie_default_forced').dropdown('set selected','{{settings.general.serie_default_forced}}'); %if settings.general.movie_default_language != 'None': $('#settings_movie_default_languages').dropdown('set selected',{{!settings.general.movie_default_language}}); %end + $('#settings_movie_default_forced').dropdown('set selected','{{settings.general.movie_default_forced}}'); $('#settings_branch').dropdown(); $('#settings_sonarr_sync').dropdown(); $('#settings_radarr_sync').dropdown(); diff --git a/views/wizard.tpl b/views/wizard.tpl index dd6c9ae1d..96bd376de 100644 --- a/views/wizard.tpl +++ b/views/wizard.tpl @@ -1114,6 +1114,21 @@ + +
+
+ +
+
+
+ +
+
+
@@ -1171,6 +1186,21 @@ + +
+
+ +
+
+
+ +
+
+
@@ -1682,19 +1712,23 @@ $(function() { if ($('#settings_serie_default_enabled_div').data("enabled") === "True") { $("#settings_serie_default_languages").removeClass('disabled'); $("#settings_serie_default_hi_div").removeClass('disabled'); + $("#settings_serie_default_forced_div").removeClass('disabled'); } else { $("#settings_serie_default_languages").addClass('disabled'); $("#settings_serie_default_hi_div").addClass('disabled'); + $("#settings_serie_default_forced_div").addClass('disabled'); } $('#settings_serie_default_enabled_div').checkbox({ onChecked: function() { $("#settings_serie_default_languages").parent().removeClass('disabled'); $("#settings_serie_default_hi_div").removeClass('disabled'); + $("#settings_serie_default_forced").parent().removeClass('disabled'); }, onUnchecked: function() { $("#settings_serie_default_languages").parent().addClass('disabled'); $("#settings_serie_default_hi_div").addClass('disabled'); + $("#settings_serie_default_forced").parent().addClass('disabled'); } }); @@ -1713,9 +1747,11 @@ $(function() { if ($('#settings_movie_default_enabled_div').data("enabled") === "True") { $("#settings_movie_default_languages").removeClass('disabled'); $("#settings_movie_default_hi_div").removeClass('disabled'); + $("#settings_movie_default_forced_div").removeClass('disabled'); } else { $("#settings_movie_default_languages").addClass('disabled'); $("#settings_movie_default_hi_div").addClass('disabled'); + $("#settings_movie_default_forced_div").addClass('disabled'); } if ($('#settings_only_monitored_sonarr').data("monitored") === "True") { @@ -1734,10 +1770,12 @@ $(function() { onChecked: function() { $("#settings_movie_default_languages").parent().removeClass('disabled'); $("#settings_movie_default_hi_div").removeClass('disabled'); + $("#settings_movie_default_forced").parent().removeClass('disabled'); }, onUnchecked: function() { $("#settings_movie_default_languages").parent().addClass('disabled'); $("#settings_movie_default_hi_div").addClass('disabled'); + $("#settings_movie_default_forced").parent().addClass('disabled'); } }); @@ -1791,13 +1829,16 @@ $(function() { $('#settings_providers').dropdown(); $('#settings_languages').dropdown(); $('#settings_serie_default_languages').dropdown(); + $('#settings_serie_default_forced').dropdown(); $('#settings_movie_default_languages').dropdown(); %if settings.general.serie_default_language != 'None': $('#settings_serie_default_languages').dropdown('set selected',{{!settings.general.serie_default_language}}); %end + $('#settings_serie_default_languages').dropdown('set selected',{{!settings.general.serie_default_language}}); %if settings.general.movie_default_language != 'None': $('#settings_movie_default_languages').dropdown('set selected',{{!settings.general.movie_default_language}}); %end + $('#settings_movie_default_forced').dropdown('set selected',{{!settings.general.movie_default_forced}}); // form validation $('#wizard_form')