diff --git a/data/interfaces/default/app_import.html b/data/interfaces/default/app_import.html index 5d95084a..96f8a36e 100644 --- a/data/interfaces/default/app_import.html +++ b/data/interfaces/default/app_import.html @@ -124,27 +124,42 @@ $("#import_db").click(function() { $(this).prop('disabled', true); - var database_file = false; - var formData = new FormData(); - formData.append('app', $("#import_app").val()); - formData.append('database_path', $("#import_database_path").val()); - if ($('#import_database_file')[0].files[0]) { - database_file = true; - formData.append('database_file', $('#import_database_file')[0].files[0]); - } - if ($("#import_method").length) { - formData.append('method', $("#import_method").val()); - } - if ($("#import_backup_db").length) { - formData.append('backup', $("#import_backup_db").is(':checked')); - } - if ($("#import_table_name").length) { - formData.append('table_name', $("#import_table_name").val()); - } - if ($("#import_ignore_interval").length) { - formData.append('ignore_interval', $("#import_ignore_interval").val()); + var app = $("#import_app").val(); + var database_file = $('#import_database_file')[0].files[0]; + var database_path = $("#import_database_path").val(); + var method = $("#import_method").val(); + var backup = $("#import_backup_db").is(':checked'); + var table_name = $("#import_table_name").val(); + var ignore_interval = $("#import_ignore_interval").val(); + + var content_type; + var process_data; + var data; + + if (database_file) { + content_type = false; + process_data = false; + data = new FormData(); + data.append('app', app); + data.append('database_file', database_file); + data.append('method', method); + data.append('backup', backup); + data.append('table_name', table_name); + data.append('ignore_interval', ignore_interval); + } else { + content_type = 'application/x-www-form-urlencoded; charset=UTF-8'; + process_data = true; + data = { + app: app, + database_path: database_path, + method: method, + backup: backup, + table_name: table_name, + ignore_interval: ignore_interval + } } + if (database_file) { $("#status-message").html('  Uploading database file...'); } else { @@ -154,11 +169,11 @@ $.ajax({ url: 'import_database', type: 'POST', - data: formData, + data: data, cache: false, async: true, - contentType: false, - processData: false, + contentType: content_type, + processData: process_data, success: function(data) { var msg; if (data.result === 'success') { diff --git a/plexpy/database.py b/plexpy/database.py index 8ff1d07e..84ad14bb 100644 --- a/plexpy/database.py +++ b/plexpy/database.py @@ -59,7 +59,7 @@ def validate_database(database=None): return 'success' -def import_tautulli_db(database=None, method=None, backup=True): +def import_tautulli_db(database=None, method=None, backup=False): db_validate = validate_database(database=database) if not db_validate == 'success': logger.error("Tautulli Database :: Failed to import Tautulli database: %s", db_validate) diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 7e88d137..38cbf6c5 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -3742,7 +3742,7 @@ class WebInterface(object): @cherrypy.tools.json_out() @requireAuth(member_of("admin")) @addtoapi() - def import_database(self, app=None, database_file=None, database_path=None, method=None, backup=True, + def import_database(self, app=None, database_file=None, database_path=None, method=None, backup=False, table_name=None, import_ignore_interval=0, **kwargs): """ Import a Tautulli, PlexWatch, or Plexivity database into Tautulli.