freeipa/ipaclient/plugins/location.py
Jan Cholasta c1d8c710e7 client: ignore override errors in command overrides
This fixes API initialization errors when the remote server does not have
the overriden command.

https://fedorahosted.org/freeipa/ticket/4739

Reviewed-By: David Kupka <dkupka@redhat.com>
2016-06-30 16:32:20 +02:00

36 lines
1.0 KiB
Python

#
# 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, no_fail=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