Example #1
0
File: machine.py Project: pared/dvc
 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()
Example #2
0
def test_table_empty(capsys):
    td = TabularData(["Col1", "Col2", "Col3"])
    assert dict(td.items()) == {"Col1": [], "Col2": [], "Col3": []}
    assert td.columns == [[], [], []]
    assert td.keys() == ["Col1", "Col2", "Col3"]
    assert list(td) == []
    assert td.Col1 == []
    assert td.Col2 == []
    assert td.Col3 == []

    assert td[1:] == []
    with pytest.raises(IndexError):
        _ = td[1]

    assert len(td) == 0
    assert td.shape == (3, 0)
    assert td.to_csv() == """Col1,Col2,Col3\r\n"""

    td.render()
    assert capsys.readouterr() == ("", "")

    td.render(rich_table=True)
    assert capsys.readouterr() == ("", "")

    td.render(markdown=True)
    assert capsys.readouterr() == (
        "| Col1   | Col2   | Col3   |\n|--------|--------|--------|\n\n",
        "",
    )

    td.rename("Col1", "Col11")
    assert td.keys() == ["Col11", "Col2", "Col3"]

    td.project("Col3", "Col11")
    assert td.keys() == ["Col3", "Col11"]
Example #3
0
File: machine.py Project: pared/dvc
    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