From c814f219a296854745d641c55412bc6ad2007f6d Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Wed, 22 Jul 2020 18:33:47 -0700 Subject: [PATCH] Prevent simultaneous importing of database/config --- plexpy/config.py | 7 +++++++ plexpy/database.py | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/plexpy/config.py b/plexpy/config.py index 32a4f953..a5aa5167 100644 --- a/plexpy/config.py +++ b/plexpy/config.py @@ -214,6 +214,8 @@ def set_is_importing(value): def set_import_thread(config=None, backup=False): global IMPORT_THREAD if config: + if IMPORT_THREAD: + return IMPORT_THREAD = threading.Thread(target=import_tautulli_config, kwargs={'config': config, 'backup': backup}) else: @@ -221,6 +223,11 @@ def set_import_thread(config=None, backup=False): def import_tautulli_config(config=None, backup=False): + if IS_IMPORTING: + logger.warn("Tautulli Config :: Another Tautulli config is currently being imported. " + "Please wait until it is complete before importing another config.") + return False + if backup: # Make a backup of the current config first logger.info("Tautulli Config :: Creating a config backup before importing.") diff --git a/plexpy/database.py b/plexpy/database.py index 911fc84f..33614166 100644 --- a/plexpy/database.py +++ b/plexpy/database.py @@ -68,6 +68,11 @@ def validate_database(database=None): def import_tautulli_db(database=None, method=None, backup=False): + if IS_IMPORTING: + logger.warn("Tautulli Database :: Another Tautulli database is currently being imported. " + "Please wait until it is complete before importing another database.") + return False + db_validate = validate_database(database=database) if not db_validate == 'success': logger.error("Tautulli Database :: Failed to import Tautulli database: %s", db_validate)