Beispiel #1
0
 def _show_table(self):
     td = TabularData(self.TABLE_COLUMNS, fill_value="-")
     conf = self.config.read()["machine"]
     if self.args.name:
         conf = {self.args.name: conf.get(self.args.name, {})}
     self._hide_private(conf)
     for machine, machine_config in conf.items():
         machine_config["name"] = machine
         td.row_from_dict(machine_config)
     td.dropna("cols", "all")
     td.render()
Beispiel #2
0
    def run(self):
        if self.repo.machine is None:
            raise MachineDisabledError

        td = TabularData(self.INSTANCE_FIELD + self.SHOWN_FIELD,
                         fill_value=self.FILL_VALUE)

        if self.args.name:
            all_status = list(self.repo.machine.status(self.args.name))
            self._add_row(self.args.name, all_status, td)
        else:
            name_set = set()
            for level in self.repo.config.LEVELS:
                conf = self.repo.config.read(level)["machine"]
                name_set.update(conf.keys())
            name_list = list(name_set)
            for name in sorted(name_list):
                all_status = list(self.repo.machine.status(name))
                self._add_row(name, all_status, td)

        td.dropna("cols", "all")
        td.render()
        return 0
Beispiel #3
0
def test_dropna_invalid_axis():
    td = TabularData(["col-1", "col-2", "col-3"])

    with pytest.raises(ValueError, match="Invalid 'axis' value foo."):
        td.dropna("foo")
Beispiel #4
0
def test_dropna(axis, how, data, expected):
    td = TabularData(["col-1", "col-2", "col-3"])
    td.extend(data)
    td.dropna(axis, how)
    assert list(td) == expected
Beispiel #5
0
def test_dropna_subset(axis, expected):
    td = TabularData(["col-1", "col-2", "col-3"])
    td.extend([["foo"], ["foo", "bar"], ["foo", "bar", "foobar"]])
    td.dropna(axis, subset=["col-1", "col-2"])
    assert list(td) == expected