mirror of
https://github.com/morpheus65535/bazarr.git
synced 2025-02-14 18:04:43 +08:00
Implenting series and movies default values #78
This commit is contained in:
parent
4ae8ff7ab7
commit
26e9a81eef
6 changed files with 319 additions and 4 deletions
34
bazarr.py
34
bazarr.py
|
@ -745,6 +745,40 @@ def save_settings():
|
|||
for item in settings_subliminal_languages:
|
||||
c.execute("UPDATE table_settings_languages SET enabled = '1' WHERE code2 = ?", (item,))
|
||||
|
||||
settings_serie_default_enabled = request.forms.get('settings_serie_default_enabled')
|
||||
if settings_serie_default_enabled is None:
|
||||
settings_serie_default_enabled = 'False'
|
||||
else:
|
||||
settings_serie_default_enabled = 'True'
|
||||
c.execute("UPDATE table_settings_general SET serie_default_enabled = ?", (settings_serie_default_enabled,))
|
||||
|
||||
settings_serie_default_languages = str(request.forms.getall('settings_serie_default_languages'))
|
||||
c.execute("UPDATE table_settings_general SET serie_default_languages = ?", (settings_serie_default_languages,))
|
||||
|
||||
settings_serie_default_hi = request.forms.get('settings_serie_default_hi')
|
||||
if settings_serie_default_hi is None:
|
||||
settings_serie_default_hi = 'False'
|
||||
else:
|
||||
settings_serie_default_hi = 'True'
|
||||
c.execute("UPDATE table_settings_general SET serie_default_hi = ?", (settings_serie_default_hi,))
|
||||
|
||||
settings_movie_default_enabled = request.forms.get('settings_movie_default_enabled')
|
||||
if settings_movie_default_enabled is None:
|
||||
settings_movie_default_enabled = 'False'
|
||||
else:
|
||||
settings_movie_default_enabled = 'True'
|
||||
c.execute("UPDATE table_settings_general SET movie_default_enabled = ?", (settings_movie_default_enabled,))
|
||||
|
||||
settings_movie_default_languages = str(request.forms.getall('settings_movie_default_languages'))
|
||||
c.execute("UPDATE table_settings_general SET movie_default_languages = ?", (settings_movie_default_languages,))
|
||||
|
||||
settings_movie_default_hi = request.forms.get('settings_movie_default_hi')
|
||||
if settings_movie_default_hi is None:
|
||||
settings_movie_default_hi = 'False'
|
||||
else:
|
||||
settings_movie_default_hi = 'True'
|
||||
c.execute("UPDATE table_settings_general SET movie_default_hi = ?", (settings_movie_default_hi,))
|
||||
|
||||
settings_notifier_Boxcar_enabled = request.forms.get('settings_notifier_Boxcar_enabled')
|
||||
if settings_notifier_Boxcar_enabled == 'on':
|
||||
settings_notifier_Boxcar_enabled = 1
|
||||
|
|
|
@ -43,8 +43,14 @@ def get_general_settings():
|
|||
path_mappings_movie = []
|
||||
else:
|
||||
path_mappings_movie = ast.literal_eval(general_settings[16])
|
||||
serie_default_enabled = general_settings[17]
|
||||
serie_default_language = general_settings[18]
|
||||
serie_default_hi = general_settings[19]
|
||||
movie_default_enabled = general_settings[20]
|
||||
movie_default_language = general_settings[21]
|
||||
movie_default_hi = general_settings[22]
|
||||
|
||||
return [ip, port, base_url, path_mappings, log_level, branch, automatic, single_language, minimum_score, use_scenename, use_postprocessing, postprocessing_cmd, use_sonarr, use_radarr, path_mappings_movie]
|
||||
return [ip, port, base_url, path_mappings, log_level, branch, automatic, single_language, minimum_score, use_scenename, use_postprocessing, postprocessing_cmd, use_sonarr, use_radarr, path_mappings_movie, serie_default_enabled, serie_default_language, serie_default_hi, movie_default_enabled,movie_default_language, movie_default_hi]
|
||||
|
||||
def path_replace(path):
|
||||
for path_mapping in path_mappings:
|
||||
|
@ -115,4 +121,10 @@ use_processing = result[10]
|
|||
postprocessing_cmd = result[11]
|
||||
use_sonarr = result[12]
|
||||
use_radarr = result[13]
|
||||
path_mappings_movie = result[14]
|
||||
path_mappings_movie = result[14]
|
||||
serie_default_enabled = result[15]
|
||||
serie_default_language = result[16]
|
||||
serie_default_hi = result[17]
|
||||
movie_default_enabled = result[18]
|
||||
movie_default_language = result[19]
|
||||
movie_default_hi = result[20]
|
|
@ -10,6 +10,9 @@ def update_movies():
|
|||
url_radarr = get_radarr_settings()[0]
|
||||
url_radarr_short = get_radarr_settings()[1]
|
||||
apikey_radarr = get_radarr_settings()[2]
|
||||
movie_default_enabled = get_general_settings()[18]
|
||||
movie_default_language = get_general_settings()[19]
|
||||
movie_default_hi = get_general_settings()[20]
|
||||
|
||||
# Open database connection
|
||||
db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db'), timeout=30)
|
||||
|
@ -64,7 +67,10 @@ def update_movies():
|
|||
|
||||
# Update or insert movies list in database table
|
||||
try:
|
||||
c.execute('''INSERT INTO table_movies(title, path, tmdbId, languages,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName) VALUES (?,?,?,(SELECT languages FROM table_movies WHERE tmdbId = ?),(SELECT `hearing_impaired` FROM table_movies WHERE tmdbId = ?), ?, ?, ?, ?, ?, ?)''', (movie["title"], movie["path"] + separator + movie['movieFile']['relativePath'], movie["tmdbId"], movie["tmdbId"], movie["tmdbId"], movie["id"], overview, poster, fanart, profile_id_to_language(movie['qualityProfileId']), sceneName))
|
||||
if movie_default_enabled == 'True':
|
||||
c.execute('''INSERT INTO table_movies(title, path, tmdbId, languages,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName) VALUES (?,?,?,?,?, ?, ?, ?, ?, ?, ?)''', (movie["title"], movie["path"] + separator + movie['movieFile']['relativePath'], movie["tmdbId"], movie_default_language, movie_default_hi, movie["id"], overview, poster, fanart, profile_id_to_language(movie['qualityProfileId']), sceneName))
|
||||
else:
|
||||
c.execute('''INSERT INTO table_movies(title, path, tmdbId, languages,`hearing_impaired`, radarrId, overview, poster, fanart, `audio_language`, sceneName) VALUES (?,?,?,(SELECT languages FROM table_movies WHERE tmdbId = ?),(SELECT `hearing_impaired` FROM table_movies WHERE tmdbId = ?), ?, ?, ?, ?, ?, ?)''', (movie["title"], movie["path"] + separator + movie['movieFile']['relativePath'], movie["tmdbId"], movie["tmdbId"], movie["tmdbId"], movie["id"], overview, poster, fanart, profile_id_to_language(movie['qualityProfileId']), sceneName))
|
||||
except:
|
||||
c.execute('''UPDATE table_movies SET title = ?, path = ?, tmdbId = ?, radarrId = ?, overview = ?, poster = ?, fanart = ?, `audio_language` = ?, sceneName = ? WHERE tmdbid = ?''', (movie["title"],movie["path"] + separator + movie['movieFile']['relativePath'],movie["tmdbId"],movie["id"],overview,poster,fanart,profile_id_to_language(movie['qualityProfileId']),sceneName,movie["tmdbId"]))
|
||||
|
||||
|
@ -86,6 +92,8 @@ def update_movies():
|
|||
# Close database connection
|
||||
db.close()
|
||||
|
||||
list_missing_subtitles_movies()
|
||||
|
||||
def get_profile_list():
|
||||
from get_radarr_settings import get_radarr_settings
|
||||
url_radarr = get_radarr_settings()[0]
|
||||
|
|
|
@ -3,12 +3,16 @@ import sqlite3
|
|||
import requests
|
||||
|
||||
from get_general_settings import *
|
||||
from list_subtitles import *
|
||||
|
||||
def update_series():
|
||||
from get_sonarr_settings import get_sonarr_settings
|
||||
url_sonarr = get_sonarr_settings()[0]
|
||||
url_sonarr_short = get_sonarr_settings()[1]
|
||||
apikey_sonarr = get_sonarr_settings()[2]
|
||||
serie_default_enabled = get_general_settings()[15]
|
||||
serie_default_language = get_general_settings()[16]
|
||||
serie_default_hi = get_general_settings()[17]
|
||||
|
||||
# Open database connection
|
||||
db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db'), timeout=30)
|
||||
|
@ -48,7 +52,11 @@ def update_series():
|
|||
|
||||
# Update or insert shows list in database table
|
||||
try:
|
||||
c.execute('''INSERT INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle) VALUES (?,?,?,(SELECT languages FROM table_shows WHERE tvdbId = ?),(SELECT `hearing_impaired` FROM table_shows WHERE tvdbId = ?), ?, ?, ?, ?, ?, ?)''', (show["title"], show["path"], show["tvdbId"], show["tvdbId"], show["tvdbId"], show["id"], overview, poster, fanart, profile_id_to_language(show['qualityProfileId']), show['sortTitle']))
|
||||
if serie_default_enabled == 'True':
|
||||
c.execute('''INSERT INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', (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']))
|
||||
list_missing_subtitles(show["id"])
|
||||
else:
|
||||
c.execute('''INSERT INTO table_shows(title, path, tvdbId, languages,`hearing_impaired`, sonarrSeriesId, overview, poster, fanart, `audio_language`, sortTitle) VALUES (?,?,?,(SELECT languages FROM table_shows WHERE tvdbId = ?),(SELECT `hearing_impaired` FROM table_shows WHERE tvdbId = ?), ?, ?, ?, ?, ?, ?)''', (show["title"], show["path"], show["tvdbId"], show["tvdbId"], show["tvdbId"], show["id"], overview, poster, fanart, profile_id_to_language(show['qualityProfileId']), show['sortTitle']))
|
||||
except:
|
||||
c.execute('''UPDATE table_shows SET title = ?, path = ?, tvdbId = ?, sonarrSeriesId = ?, overview = ?, poster = ?, fanart = ?, `audio_language` = ? , sortTitle = ? WHERE tvdbid = ?''', (show["title"],show["path"],show["tvdbId"],show["id"],overview,poster,fanart,profile_id_to_language((show['qualityProfileId'] if sonarr_version == 2 else show['languageProfileId'])),show['sortTitle'],show["tvdbId"]))
|
||||
|
||||
|
|
34
update_db.py
34
update_db.py
|
@ -123,6 +123,40 @@ if os.path.exists(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db'))
|
|||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
c.execute('alter table table_settings_general add column "serie_default_enabled" "text"')
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
c.execute('UPDATE table_settings_general SET serie_default_enabled="False"')
|
||||
|
||||
try:
|
||||
c.execute('alter table table_settings_general add column "serie_default_languages" "text"')
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
c.execute('alter table table_settings_general add column "serie_default_hi" "text"')
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
c.execute('alter table table_settings_general add column "movie_default_enabled" "text"')
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
c.execute('UPDATE table_settings_general SET movie_default_enabled="False"')
|
||||
|
||||
try:
|
||||
c.execute('alter table table_settings_general add column "movie_default_languages" "text"')
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
c.execute('alter table table_settings_general add column "movie_default_hi" "text"')
|
||||
except:
|
||||
pass
|
||||
|
||||
# Commit change to db
|
||||
db.commit()
|
||||
|
||||
|
|
|
@ -895,6 +895,120 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui dividing header">Series default settings</div>
|
||||
<div class="twelve wide column">
|
||||
<div class="ui grid">
|
||||
<div class="middle aligned row">
|
||||
<div class="right aligned four wide column">
|
||||
<label>Default enabled</label>
|
||||
</div>
|
||||
<div class="one wide column">
|
||||
<div class="nine wide column">
|
||||
<div id="settings_serie_default_enabled_div" class="ui toggle checkbox" data-enabled="{{settings_general[17]}}">
|
||||
<input name="settings_serie_default_enabled" id="settings_serie_default_enabled" type="checkbox">
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="collapsed column">
|
||||
<div class="collapsed center aligned column">
|
||||
<div class="ui basic icon" data-tooltip="Apply only to series added to Bazarr after enabling this option." data-inverted="">
|
||||
<i class="help circle large icon"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="middle aligned row">
|
||||
<div class="right aligned four wide column">
|
||||
<label>Languages</label>
|
||||
</div>
|
||||
<div class="eleven wide column">
|
||||
<div class='field'>
|
||||
<select name="settings_serie_default_languages" id="settings_serie_default_languages" multiple="" class="ui fluid selection dropdown">
|
||||
%if settings_general[9] == 'False':
|
||||
<option value="">Languages</option>
|
||||
%else:
|
||||
<option value="">None</option>
|
||||
%end
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="middle aligned row">
|
||||
<div class="right aligned four wide column">
|
||||
<label>Hearing-impaired</label>
|
||||
</div>
|
||||
<div class="eleven wide column">
|
||||
<div class="nine wide column">
|
||||
<div id="settings_serie_default_hi_div" class="ui toggle checkbox" data-hi="{{settings_general[19]}}">
|
||||
<input name="settings_serie_default_hi" id="settings_serie_default_hi" type="checkbox">
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui dividing header">Movies default settings</div>
|
||||
<div class="twelve wide column">
|
||||
<div class="ui grid">
|
||||
<div class="middle aligned row">
|
||||
<div class="right aligned four wide column">
|
||||
<label>Default enabled</label>
|
||||
</div>
|
||||
<div class="one wide column">
|
||||
<div class="nine wide column">
|
||||
<div id="settings_movie_default_enabled_div" class="ui toggle checkbox" data-enabled="{{settings_general[20]}}">
|
||||
<input name="settings_movie_default_enabled" id="settings_movie_default_enabled" type="checkbox">
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="collapsed column">
|
||||
<div class="collapsed center aligned column">
|
||||
<div class="ui basic icon" data-tooltip="Apply only to movies added to Bazarr after enabling this option." data-inverted="">
|
||||
<i class="help circle large icon"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="middle aligned row">
|
||||
<div id="movie_default_languages_label" class="right aligned four wide column">
|
||||
<label>Languages</label>
|
||||
</div>
|
||||
<div class="eleven wide column">
|
||||
<div class='field'>
|
||||
<select name="settings_movie_default_languages" id="settings_movie_default_languages" multiple="" class="ui fluid selection dropdown">
|
||||
%if settings_general[9] == 'False':
|
||||
<option value="">Languages</option>
|
||||
%else:
|
||||
<option value="">None</option>
|
||||
%end
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="middle aligned row">
|
||||
<div id="movie_default_hi_label" class="right aligned four wide column">
|
||||
<label>Hearing-impaired</label>
|
||||
</div>
|
||||
<div class="eleven wide column">
|
||||
<div class="nine wide column">
|
||||
<div id="settings_movie_default_hi_div" class="ui toggle checkbox" data-hi="{{settings_general[22]}}">
|
||||
<input name="settings_movie_default_hi" id="settings_movie_default_hi" type="checkbox">
|
||||
<label></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui bottom attached tab segment" data-tab="notifier">
|
||||
<div class="ui container"><button class="submit ui blue right floated button" type="submit" value="Submit" form="settings_form">Save</button></div>
|
||||
|
@ -1030,6 +1144,103 @@
|
|||
}
|
||||
});
|
||||
|
||||
$('#settings_languages').dropdown('setting', 'onAdd', function(val, txt){
|
||||
$("#settings_serie_default_languages").append(
|
||||
$("<option></option>").attr("value", val).text(txt)
|
||||
)
|
||||
$("#settings_movie_default_languages").append(
|
||||
$("<option></option>").attr("value", val).text(txt)
|
||||
)
|
||||
});
|
||||
|
||||
$('#settings_languages').dropdown('setting', 'onRemove', function(val, txt){
|
||||
$("#settings_serie_default_languages").dropdown('remove selected', val);
|
||||
$("#settings_serie_default_languages option[value='" + val + "']").remove();
|
||||
|
||||
$("#settings_movie_default_languages").dropdown('remove selected', val);
|
||||
$("#settings_movie_default_languages option[value='" + val + "']").remove();
|
||||
});
|
||||
|
||||
if ($('#settings_serie_default_enabled_div').data("enabled") == "True") {
|
||||
$("#settings_serie_default_enabled_div").checkbox('check');
|
||||
} else {
|
||||
$("#settings_serie_default_enabled_div").checkbox('uncheck');
|
||||
}
|
||||
|
||||
if ($('#settings_serie_default_enabled_div').data("enabled") == "True") {
|
||||
$("#settings_serie_default_languages").removeClass('disabled');
|
||||
$("#settings_serie_default_hi_div").removeClass('disabled');
|
||||
} else {
|
||||
$("#settings_serie_default_languages").addClass('disabled');
|
||||
$("#settings_serie_default_hi_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');
|
||||
},
|
||||
onUnchecked: function() {
|
||||
$("#settings_serie_default_languages").parent().addClass('disabled');
|
||||
$("#settings_serie_default_hi_div").addClass('disabled');
|
||||
}
|
||||
});
|
||||
|
||||
if ($('#settings_serie_default_hi_div').data("hi") == "True") {
|
||||
$("#settings_serie_default_hi_div").checkbox('check');
|
||||
} else {
|
||||
$("#settings_serie_default_hi_div").checkbox('uncheck');
|
||||
}
|
||||
|
||||
if ($('#settings_movie_default_enabled_div').data("enabled") == "True") {
|
||||
$("#settings_movie_default_enabled_div").checkbox('check');
|
||||
} else {
|
||||
$("#settings_movie_default_enabled_div").checkbox('uncheck');
|
||||
}
|
||||
|
||||
if ($('#settings_movie_default_enabled_div').data("enabled") == "True") {
|
||||
$("#settings_movie_default_languages").removeClass('disabled');
|
||||
$("#settings_movie_default_hi_div").removeClass('disabled');
|
||||
} else {
|
||||
$("#settings_movie_default_languages").addClass('disabled');
|
||||
$("#settings_movie_default_hi_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');
|
||||
},
|
||||
onUnchecked: function() {
|
||||
$("#settings_movie_default_languages").parent().addClass('disabled');
|
||||
$("#settings_movie_default_hi_div").addClass('disabled');
|
||||
}
|
||||
});
|
||||
|
||||
if ($('#settings_movie_default_hi_div').data("hi") == "True") {
|
||||
$("#settings_movie_default_hi_div").checkbox('check');
|
||||
} else {
|
||||
$("#settings_movie_default_hi_div").checkbox('uncheck');
|
||||
}
|
||||
|
||||
$("#settings_single_language").change(function(i, obj) {
|
||||
if ($("#settings_single_language").checkbox('is checked')) {
|
||||
$("#settings_serie_default_languages").dropdown('clear');
|
||||
$("#settings_movie_default_languages").dropdown('clear');
|
||||
$("#settings_serie_default_languages").parent().removeClass('multiple');
|
||||
$("#settings_serie_default_languages").removeAttr('multiple');
|
||||
$("#settings_movie_default_languages").parent().removeClass('multiple');
|
||||
$("#settings_movie_default_languages").removeAttr('multiple');
|
||||
} else {
|
||||
$("#settings_serie_default_languages").dropdown('clear');
|
||||
$("#settings_movie_default_languages").dropdown('clear');
|
||||
$("#settings_serie_default_languages").parent().addClass('multiple');
|
||||
$("#settings_serie_default_languages").attr('multiple');
|
||||
$("#settings_movie_default_languages").parent().addClass('multiple');
|
||||
$("#settings_movie_default_languages").attr('multiple');
|
||||
}
|
||||
});
|
||||
|
||||
$('.notifier_enabled').each(function(i, obj) {
|
||||
if ($(this).data("enabled") == 1) {
|
||||
$(this).checkbox('check');
|
||||
|
@ -1065,6 +1276,14 @@
|
|||
$('#settings_loglevel').dropdown();
|
||||
$('#settings_providers').dropdown();
|
||||
$('#settings_languages').dropdown();
|
||||
$('#settings_serie_default_languages').dropdown();
|
||||
$('#settings_movie_default_languages').dropdown();
|
||||
%if settings_general[18] is not None:
|
||||
$('#settings_serie_default_languages').dropdown('set selected',{{!settings_general[18]}});
|
||||
%end
|
||||
%if settings_general[21] is not None:
|
||||
$('#settings_movie_default_languages').dropdown('set selected',{{!settings_general[21]}});
|
||||
%end
|
||||
$('#settings_branch').dropdown();
|
||||
$('#settings_sonarr_sync').dropdown();
|
||||
$('#settings_radarr_sync').dropdown();
|
||||
|
|
Loading…
Reference in a new issue