def _get_all_columns()

in src/hpc/autoscale/job/demandprinter.py [0:0]


    def _get_all_columns(self, compute_nodes: List[Node]) -> List[str]:

        columns = []
        for attr_name in dir(Node):
            if not attr_name[0].isalpha():
                continue
            attr = getattr(Node, attr_name)
            if hasattr(attr, "__call__"):
                continue
            columns.append(attr_name)

        if compute_nodes:
            all_available: Set[str] = set()
            for n in compute_nodes:
                all_available.update(n.available.keys())

            columns += list(all_available)
        assert None not in columns
        columns = sorted(columns)
        return columns