Catch config.ParseError

This commit is contained in:
JonnyWong16 2020-07-22 18:27:23 -07:00
commit 9095fc0c7a
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
2 changed files with 19 additions and 6 deletions

View file

@ -160,7 +160,11 @@ def initialize(config_file):
global UMASK
global _UPDATE
CONFIG = config.Config(config_file)
try:
CONFIG = config.Config(config_file)
except:
raise SystemExit("Unable to initialize Tautulli due to a corrupted config file. Exiting...")
CONFIG_FILE = config_file
assert CONFIG is not None

View file

@ -24,7 +24,7 @@ import shutil
import time
import threading
from configobj import ConfigObj
from configobj import ConfigObj, ParseError
import plexpy
if plexpy.PYTHON2:
@ -228,12 +228,16 @@ def import_tautulli_config(config=None, backup=False):
logger.error("Tautulli Config :: Failed to import Tautulli config: failed to create config backup")
return False
# Create a new Config object with the imported config file
try:
imported_config = Config(config, is_import=True)
except:
logger.error("Tautulli Config :: Failed to import Tautulli config: error reading imported config file")
return False
logger.info("Tautulli Config :: Importing Tautulli config '%s'...", config)
set_is_importing(True)
# Create a new Config object with the imported config file
imported_config = Config(config, is_import=True)
# Remove keys that should not be imported
for key in _DO_NOT_IMPORT_KEYS:
delattr(imported_config, key)
@ -298,7 +302,12 @@ class Config(object):
def __init__(self, config_file, is_import=False):
""" Initialize the config with values from a file """
self._config_file = config_file
self._config = ConfigObj(self._config_file, encoding='utf-8')
try:
self._config = ConfigObj(self._config_file, encoding='utf-8')
except ParseError as e:
logger.error("Tautulli Config :: Error reading configuration file: %s", e)
raise
for key in _CONFIG_DEFINITIONS:
self.check_setting(key)
if not is_import: