diff options
| author | 2019-11-01 17:43:07 +1100 | |
|---|---|---|
| committer | 2019-11-01 17:50:21 +1100 | |
| commit | 7da08ffc80cef8060b873f2f595ac3c7496a4a6b (patch) | |
| tree | 0fcc703273d821368b886771a93d072135800c32 /modules/config.py | |
| parent | Add .travis.yml to run mypy. (#192) (diff) | |
| signature | ||
tell user config setting is unchanged
Diffstat (limited to 'modules/config.py')
| -rw-r--r-- | modules/config.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/modules/config.py b/modules/config.py index 9a5cd841..8493a1e4 100644 --- a/modules/config.py +++ b/modules/config.py @@ -16,6 +16,8 @@ class ConfigResults(enum.Enum): Changed = 1 Retrieved = 2 Removed = 3 + Unchanged = 4 + class ConfigResult(object): def __init__(self, result, data=None): self.result = result @@ -121,9 +123,13 @@ class Module(ModuleManager.BaseModule): raise ConfigInvalidValue(str(e)) if not validated_value == None: - target.set_setting(setting, validated_value) - formatted_value = setting_object.format(validated_value) - return ConfigResult(ConfigResults.Changed, formatted_value) + existing_value = target.get_setting(setting, None) + if existing_value == validated_value: + return ConfigResult(ConfigResults.Unchanged) + else: + target.set_setting(setting, validated_value) + formatted_value = setting_object.format(validated_value) + return ConfigResult(ConfigResults.Changed, formatted_value) else: raise ConfigInvalidValue() else: @@ -231,6 +237,9 @@ class Module(ModuleManager.BaseModule): elif result.result == ConfigResults.Removed: event["stdout"].write("Unset setting '%s'%s" % (setting.lstrip("-"), for_str)) + elif result.result == ConfigResults.Unchanged: + event["stdout"].write("Config '%s'%s unchanged" % + (setting, for_str)) else: event["stdout"].write("Available config: %s" % ", ".join(export_settings.keys())) |
