diff --git a/transmission/updateSettings.py b/transmission/updateSettings.py index 80ba516be..4bb81efb8 100644 --- a/transmission/updateSettings.py +++ b/transmission/updateSettings.py @@ -3,7 +3,6 @@ import json import os import sys - parser = argparse.ArgumentParser( description='Updates output settings file based on a default file', ) @@ -39,18 +38,33 @@ if os.path.isfile(transmission_settings): else: configuration_baseline = default_settings -print('Using config baseline ' + configuration_baseline) +print('Using config baseline', configuration_baseline) # Read config base -with open(configuration_baseline, 'r') as f: - settings_dict = json.load(f) +with open(configuration_baseline, 'r') as input_file: + settings_dict = json.load(input_file) + + +def setting_as_env(setting: str) -> str: + """Get a transmission settings environment variable name.""" + return 'TRANSMISSION_{setting}'.format( + setting=setting.upper().replace('-', '_'), + ) + # For each setting, check if an environment variable is set to override it for setting in settings_dict: - setting_env_name = 'TRANSMISSION_' + setting.upper().replace('-', '_') + setting_env_name = setting_as_env(setting) if setting_env_name in os.environ: - print('Overriding ' + setting + ' because ' + setting_env_name + ' is set to ' + os.environ.get(setting_env_name)) - settings_dict[setting] = os.environ.get(setting_env_name) + env_value = os.environ.get(setting_env_name) + print( + 'Overriding {setting} because {env_name} is set to {value}'.format( + setting=setting, + env_name=setting_env_name, + value=env_value, + ), + ) + settings_dict[setting] = env_value # Dump resulting settings to file with open(transmission_settings, 'w') as fp: