From db2fd7378c62f951de8ba603e2b523c4df44ee59 Mon Sep 17 00:00:00 2001 From: Kim Spasaro Date: Mon, 8 Aug 2016 16:01:57 -0500 Subject: [PATCH 1/2] adding module list command --- peru/main.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/peru/main.py b/peru/main.py index 05da9883..c711b8d1 100644 --- a/peru/main.py +++ b/peru/main.py @@ -221,6 +221,31 @@ def do_override(params): print('{}: {}'.format(module, params.runtime.get_override(module))) +@peru_command('module', '''\ +Usage: + peru module [-z] + +Options: + -z print one module per line for machine-readable formatting + +''') +def do_list(params): + modules = params.scope.modules.values() + output = '' + delim = ' | ' if params.args['-z'] else "\n " + + for module in modules: + output += module.name + for field, val in module.plugin_fields.items(): + output += '{}{}: {}'.format(delim, field, val) + if(params.runtime.get_override(module.name)): + output += '{}{}: {}'.format(delim, 'override', params.runtime.get_override(module.name)) + output += '\n' + + if (output): + params.runtime.display.print(output[:-1]) + + def get_version(): version_file = os.path.join(compat.MODULE_ROOT, 'VERSION') with open(version_file) as f: From 0f082f7c8fb9a376af54176c8cf2ece4a9b1458d Mon Sep 17 00:00:00 2001 From: Kim Spasaro Date: Tue, 9 Aug 2016 13:33:05 -0500 Subject: [PATCH 2/2] changing to use join instead of delimeter concatenation --- peru/main.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/peru/main.py b/peru/main.py index c711b8d1..bba29e0d 100644 --- a/peru/main.py +++ b/peru/main.py @@ -231,19 +231,22 @@ def do_override(params): ''') def do_list(params): modules = params.scope.modules.values() - output = '' - delim = ' | ' if params.args['-z'] else "\n " + output = [] + delim = ' | ' if params.args['-z'] else '\n ' + indent = '' if params.args['-z'] else ' ' + newline = '\n' for module in modules: - output += module.name + fields = [] + fields.append(module.name) for field, val in module.plugin_fields.items(): - output += '{}{}: {}'.format(delim, field, val) + fields.append('{}{}: {}'.format(indent, field, val)) if(params.runtime.get_override(module.name)): - output += '{}{}: {}'.format(delim, 'override', params.runtime.get_override(module.name)) - output += '\n' + fields.append('{}{}: {}'.format(indent, 'override', params.runtime.get_override(module.name))) + output.append(delim.join(fields)) if (output): - params.runtime.display.print(output[:-1]) + params.runtime.display.print(newline.join(output)) def get_version():