def build_table_row()

in openr/py/openr/cli/commands/lm.py [0:0]


    def build_table_row(k: str, v: object) -> List[Any]:
        # pyre-fixme[16]: `object` has no attribute `metricOverride`.
        metric_override = v.metricOverride if v.metricOverride else ""
        # pyre-fixme[16]: `object` has no attribute `info`.
        if v.info.isUp:
            backoff_sec = int(
                # pyre-fixme[16]: `object` has no attribute `linkFlapBackOffMs`.
                (v.linkFlapBackOffMs if v.linkFlapBackOffMs else 0)
                / 1000
            )
            if backoff_sec == 0:
                state = "Up"
            elif not utils.is_color_output_supported():
                state = backoff_sec
            else:
                state = click.style("Hold ({} s)".format(backoff_sec), fg="yellow")
        else:
            state = (
                click.style("Down", fg="red")
                if utils.is_color_output_supported()
                else "Down"
            )
        # pyre-fixme[16]: `object` has no attribute `isOverloaded`.
        if v.isOverloaded:
            metric_override = (
                click.style("Overloaded", fg="red")
                if utils.is_color_output_supported()
                else "Overloaded"
            )
        addrs = []
        for prefix in v.info.networks:
            addrStr = ipnetwork.sprint_addr(prefix.prefixAddress.addr)
            addrs.append(addrStr)
        row = [k, state, metric_override, addrs]
        return row