File: location.py

package info (click to toggle)
freeipa 4.13.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 367,240 kB
  • sloc: javascript: 562,763; python: 310,289; ansic: 49,809; sh: 7,176; makefile: 2,589; xml: 343; sed: 16
file content (35 lines) | stat: -rw-r--r-- 1,057 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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, 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 details in servers.values():
            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