diff options
Diffstat (limited to 'ipaclient/plugins/location.py')
-rw-r--r-- | ipaclient/plugins/location.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ipaclient/plugins/location.py b/ipaclient/plugins/location.py new file mode 100644 index 000000000..b3b6026c0 --- /dev/null +++ b/ipaclient/plugins/location.py @@ -0,0 +1,35 @@ +# +# Copyright (C) 2016 FreeIPA Contributors see COPYING for license +# + +from ipaclient.frontend import MethodOverride +from ipalib import _ +from ipalib.plugable import Registry + + +register = Registry() + + +@register(override=True) +class location_show(MethodOverride): + def output_for_cli(self, textui, output, *keys, **options): + rv = super(location_show, self).output_for_cli( + textui, output, *keys, **options) + + servers = output.get('servers', {}) + first = True + for hostname, details in servers.items(): + if first: + textui.print_indented(_("Servers details:"), indent=1) + first = False + else: + textui.print_line("") + + for param in self.api.Command.server_find.output_params(): + if param.name in details: + textui.print_indented( + u"{}: {}".format( + param.label, u', '.join(details[param.name])), + indent=2) + + return rv |