diff --git a/config/config.py b/config/config.py index 087db35..3e2b82b 100644 --- a/config/config.py +++ b/config/config.py @@ -2,7 +2,7 @@ import sys import os import configparser - +import json ######################################################################################################################## # Check if in Docker IS_IN_DOCKER = os.environ.get('IS_IN_DOCKER') @@ -61,7 +61,7 @@ def get_config_value(key, config_section, is_mandatory, datatype, default_value if datatype == bool: config_value = eval(str(config_value).capitalize()) elif datatype == list: - config_value = config_value + config_value = json.loads(config_value) elif config_value is not None: config_value = cast(config_value, datatype) except: @@ -91,6 +91,7 @@ REMOVE_FAILED = get_config_value('REMOVE_FAILED', REMOVE_FAILED_IMPORTS = get_config_value('REMOVE_FAILED_IMPORTS' , 'features', False, bool, False) REMOVE_METADATA_MISSING = get_config_value('REMOVE_METADATA_MISSING', 'features', False, bool, False) REMOVE_MISSING_FILES = get_config_value('REMOVE_MISSING_FILES' , 'features', False, bool, False) +REMOVE_NO_FORMAT_UPGRADE = get_config_value('REMOVE_NO_FORMAT_UPGRADE' , 'features', False, bool, False) # OUTDATED - WILL RETURN WARNING REMOVE_ORPHANS = get_config_value('REMOVE_ORPHANS' , 'features', False, bool, False) REMOVE_SLOW = get_config_value('REMOVE_SLOW' , 'features', False, bool, False) REMOVE_STALLED = get_config_value('REMOVE_STALLED', 'features', False, bool, False) diff --git a/main.py b/main.py index 4dee289..d0aac91 100644 --- a/main.py +++ b/main.py @@ -74,9 +74,12 @@ async def main(settingsDict): for instance in settingsDict['INSTANCES']: settingsDict = await getArrInstanceName(settingsDict, instance) + # Check outdated + upgradeChecks(settingsDict) + # Display current settings when loading script showSettings(settingsDict) - + # Check Minimum Version and if instances are reachable and retrieve qbit cookie settingsDict['RADARR_MIN_VERSION'] = '5.3.6.8608' settingsDict['SONARR_MIN_VERSION'] = '4.0.1.1131' diff --git a/src/utils/loadScripts.py b/src/utils/loadScripts.py index 3b29a6e..577b3f1 100644 --- a/src/utils/loadScripts.py +++ b/src/utils/loadScripts.py @@ -44,11 +44,11 @@ def showSettings(settingsDict): logger.info('%s | Removing failed downloads (%s)', str(settingsDict['REMOVE_FAILED']), 'REMOVE_FAILED') logger.info('%s | Removing failed imports (%s)', str(settingsDict['REMOVE_FAILED_IMPORTS']), 'REMOVE_FAILED_IMPORTS') if settingsDict['REMOVE_FAILED_IMPORTS'] and not settingsDict['FAILED_IMPORT_MESSAGE_PATTERNS']: - logger.verbose ('Any imports with a warning flag are considered failed. No message patterns specified (%s).', 'FAILED_IMPORT_MESSAGE_PATTERNS') + logger.verbose ('> Any imports with a warning flag are considered failed. No message patterns specified (%s).', 'FAILED_IMPORT_MESSAGE_PATTERNS') elif settingsDict['REMOVE_FAILED_IMPORTS'] and settingsDict['FAILED_IMPORT_MESSAGE_PATTERNS']: - logger.verbose ('Imports with a warning flag are considered failed if the status message contains any of the following patterns:') + logger.verbose ('> Imports with a warning flag are considered failed if the status message contains any of the following patterns:') for pattern in settingsDict['FAILED_IMPORT_MESSAGE_PATTERNS']: - logger.verbose (pattern) + logger.verbose(' - "%s"', pattern) logger.info('%s | Removing downloads missing metadata (%s)', str(settingsDict['REMOVE_METADATA_MISSING']), 'REMOVE_METADATA_MISSING') logger.info('%s | Removing downloads missing files (%s)', str(settingsDict['REMOVE_MISSING_FILES']), 'REMOVE_MISSING_FILES') logger.info('%s | Removing orphan downloads (%s)', str(settingsDict['REMOVE_ORPHANS']), 'REMOVE_ORPHANS') @@ -76,6 +76,12 @@ def showSettings(settingsDict): logger.info('') return +def upgradeChecks(settingsDict): + if settingsDict['REMOVE_NO_FORMAT_UPGRADE']: + logger.warn('#' * 16 + 'OUTDATED SETTINGS' + '#' * 16 ) + logger.warn("%s was replaced with %s. Please check the ReadMe and update your settings.", 'REMOVE_NO_FORMAT_UPGRADE', 'REMOVE_FAILED_IMPORTS') + logger.warn('#' * 50) + return async def instanceChecks(settingsDict): # Checks if the arr and qbit instances are reachable, and returns the settings dictionary with the qbit cookie