Пример #1
0
    def test_normal_empty_data(self, tmpdir, table_text, filename):
        p_file_path = tmpdir.join(filename)

        with open(str(p_file_path), "w") as f:
            f.write(table_text)

        loader = ptr.MarkdownTableFileLoader(str(p_file_path))

        for _tabletuple in loader.load():
            raise ValueError("should not reach this line")
Пример #2
0
    def test_normal_MarkdownTableFileLoader_null_tag(self, monkeypatch, value,
                                                     source, expected):
        monkeypatch.setattr(MarkdownTableFormatter, "table_id",
                            self.null_tag_property)

        loader = ptr.MarkdownTableFileLoader(source)
        loader.table_name = value
        formatter = MarkdownTableFormatter(value)
        formatter.accept(loader)

        assert formatter._make_table_name() == expected
Пример #3
0
    def test_MarkdownTableFileLoader_exception(self, monkeypatch, value,
                                               source, expected):
        monkeypatch.setattr(MarkdownTableFormatter, "table_id",
                            self.null_tag_property)

        loader = ptr.MarkdownTableFileLoader(source)
        loader.table_name = value
        formatter = MarkdownTableFormatter(source)
        formatter.accept(loader)

        with pytest.raises(expected):
            formatter._make_table_name()
Пример #4
0
    def test_normal(self, tmpdir, test_id, table_text, filename, table_name,
                    expected_tabledata_list):
        file_path = Path(str(tmpdir.join(filename)))
        file_path.parent.makedirs_p()

        with open(file_path, "w") as f:
            f.write(table_text)

        loader = ptr.MarkdownTableFileLoader(file_path)
        loader.table_name = table_name

        load = False
        for table_data in loader.load():
            print("--- test {} ---".format(test_id))
            print("\n[actual]\n{}".format(dump_tabledata(table_data)))
            assert table_data.in_tabledata_list(expected_tabledata_list)
            load = True

        assert load
Пример #5
0
import pytablereader as ptr
import pytablewriter as ptw

data_path = "data.md"

reader = ptr.MarkdownTableFileLoader(data_path)
for table_data in reader.load():
    res = table_data

csv_writer = ptw.CsvTableWriter()
csv_writer.headers = res.headers
csv_writer.value_matrix = res.rows

with open("data.csv", "w") as f:
    csv_writer.stream = f
    csv_writer.write_table()

for row in res.rows:
    for i, val in enumerate(row):
        if val == "": row[i] = None

json_writer = ptw.JsonTableWriter()
json_writer.headers = res.headers
json_writer.value_matrix = res.rows

with open("data.json", "w") as f:
    json_writer.stream = f
    json_writer.write_table()
Пример #6
0
    def test_exception(self, tmpdir, filename, expected):
        loader = ptr.MarkdownTableFileLoader(filename)

        with pytest.raises(expected):
            for _tabletuple in loader.load():
                pass