Exemplo n.º 1
0
    def main(self, *, args):  # noqa: D102
        with NodeStrategy(args) as node:
            node_names = get_node_names(
                node=node, include_hidden_nodes=args.include_hidden_nodes)
            node_names = [n.full_name for n in node_names]

        node_name = get_absolute_node_name(args.node_name)
        if node_name:
            if node_name not in node_names:
                return 'Node not found'

        with DirectNode(args) as node:
            states = call_get_states(node=node, node_names=node_names)

            # output exceptions
            for node_name in sorted(states.keys()):
                state = states[node_name]
                if isinstance(state, Exception):
                    print('Exception while calling service of node '
                          "'{node_name}': {state}".format_map(locals()),
                          file=sys.stderr)
                    del states[node_name]
                    if args.node_name:
                        return 1

            # output current states
            for node_name in sorted(states.keys()):
                state = states[node_name]
                prefix = ''
                if not args.node_name:
                    prefix = '{node_name}: '.format_map(locals())
                print(prefix +
                      '{state.label} [{state.id}]'.format_map(locals()))
Exemplo n.º 2
0
    def main(self, *, args):  # noqa: D102
        with NodeStrategy(args) as node:
            node_names = get_node_names(
                node=node, include_hidden_nodes=args.include_hidden_nodes)

        if args.node_name:
            if args.node_name not in node_names:
                return 'Node not found'
            node_names = [args.node_name]

        with DirectNode(args) as node:
            states = call_get_states(node=node, node_names=node_names)

            # output exceptions
            for node_name in sorted(states.keys()):
                state = states[node_name]
                if isinstance(state, Exception):
                    print('Exception while calling service of node '
                          "'{node_name}': {state}".format_map(locals()),
                          file=sys.stderr)
                    del states[node_name]
                    if args.node_name:
                        return 1

            if args.transitions:
                transitions = call_get_available_transitions(node=node,
                                                             states=states)

            # output current states
            for node_name in sorted(states.keys()):
                state = states[node_name]
                prefix = ''
                if not args.node_name:
                    prefix = '{node_name}: '.format_map(locals())
                print(prefix +
                      '{state.label} [{state.id}]'.format_map(locals()))

                if args.transitions:
                    if isinstance(transitions[node_name], Exception):
                        print('Exception while calling service of node '
                              "'{node_name}': {transitions[node_name]}".
                              format_map(locals()),
                              file=sys.stderr)
                        if args.node_name:
                            return 1
                    elif transitions[node_name]:
                        for transition in transitions[node_name]:
                            print('-> {transition.label} [{transition.id}]'.
                                  format_map(locals()))
                    else:
                        print('  no transitions available')