def _print_check_result()

in ftw_compatible_tool/user_interface.py [0:0]


    def _print_check_result(self, traffic, check_result):
        # All check is OK
        if not check_result \
                or reduce(lambda x, y: x and y, check_result.values()):
            return
        traffic = collections.OrderedDict(traffic)
        wrapper = textwrap.TextWrapper()
        wrapper.width = self._MAX_SIZE()[1]
        indent = len(max(traffic.keys(), key=len))
        # '+3' for two spaces and a colon
        wrapper.subsequent_indent = ' ' * (indent + 3)
        for k, v in traffic.items():
            prefix = CLI.STYLE.BOLD \
                + k.ljust(indent) \
                + CLI.STYLE.RESET
            wrapper.initial_indent = prefix + " : "

            buffer_ = ""
            # skip traffic_id
            if k in ["traffic_id"]:
                continue
            if k == "output":
                buffer_ += "{"
                len_ = len(v.keys())
                for k, v in v.items():
                    if not check_result[k]:
                        buffer_ += CLI.STYLE.BG.RED + CLI.STYLE.BOLD
                    buffer_ += "%s: %s" % (k, repr(v))
                    buffer_ += CLI.STYLE.RESET
                    len_ -= 1
                    if len_ != 0:
                        buffer_ += ", "
                buffer_ = buffer_.strip()
                buffer_ += "}"
            elif isinstance(v, str) or isinstance(v, unicode):
                v = repr(v)
                buffer_ += v
            else:
                buffer_ += str(v)
            print(wrapper.fill(buffer_))
        print("\n")