diff options
| author | 2019-05-23 10:36:59 +0100 | |
|---|---|---|
| committer | 2019-05-23 10:36:59 +0100 | |
| commit | fef97bfcd890e336b205c2b8f994fee108687194 (patch) | |
| tree | 91cb7574a4fda7da3dcb596c6212170eef7ced1e /modules/config.py | |
| parent | Remove array-setting log - we don't/shouldn't use it. (diff) | |
| signature | ||
Show example usage when a user does not provide a setting value
Diffstat (limited to 'modules/config.py')
| -rw-r--r-- | modules/config.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/modules/config.py b/modules/config.py index 91ae776f..92c05cb6 100644 --- a/modules/config.py +++ b/modules/config.py @@ -41,11 +41,10 @@ class Module(ModuleManager.BaseModule): settings = self.exports.get_all(category) settings_dict = {setting["setting"]: setting for setting in settings} - if len(args) > 1: - setting = args[0].lower() - if setting in settings_dict: - setting_options = settings_dict[setting] - + setting = args[0].lower() + if setting in settings_dict: + setting_options = settings_dict[setting] + if len(args) > 1: value = " ".join(args[1:]) value = setting_options.get("validate", lambda x: x)(value) @@ -58,16 +57,22 @@ class Module(ModuleManager.BaseModule): event["stdout"].write("Saved setting") else: event["stderr"].write("Invalid value") + elif len(args) == 1: + example = setting_options.get("example", None) + if example: + event["stderr"].write("Please provide a value, e.g. %s" + % example) + else: + event["stderr"].write("Please provide a value") else: - event["stderr"].write("Unknown setting") - elif len(args) == 1: - event["stderr"].write("Please provide a value") - else: - shown_settings = [key for key, value in settings_dict.items() + shown_settings = [key for key, value in settings_dict.items() if not value.get("hidden", False)] - shown_settings = sorted(shown_settings) - event["stdout"].write("Available settings: %s" % ( - ", ".join(shown_settings))) + shown_settings = sorted(shown_settings) + event["stdout"].write("Available settings: %s" % ( + ", ".join(shown_settings))) + else: + event["stderr"].write("Unknown setting") + @utils.hook("received.command.set", help="Set a specified user setting") def set(self, event): |
