Ejemplo n.º 1
0
def get_excel_download(visits: Visits) -> bytes:
    rows = _as_vgrouprows(visits)
    rowslists = dict(Daten=rows, Erklaerungen=explanations)
    with tempfile.NamedTemporaryFile(prefix="export_", suffix=".xlsx",
                                     delete=False) as fh:
        filename = fh.name  # file is deleted in 'finally' clause
    try:
        aue.write_excel_from_rowslists(filename, rowslists,  # type: ignore
                                       indexcolumn=True)
        with open(filename, 'rb') as file:
            excelbytes = file.read()  # slurp. Won't be very large.
    finally:
        os.unlink(filename)
    return excelbytes
Ejemplo n.º 2
0
def test_write_excel_from_rowslists():
    TestTuple = collections.namedtuple('TestTuple', 'a b c dee')
    testdata = dict(test=[
        TestTuple(a="a1", b="b1", c="c1", dee="d1"),
        TestTuple(a="a2", b="b2", c="c2", dee="d2"),
    ])
    with tempfile.NamedTemporaryFile(prefix="test", suffix=".xlsx", 
                                     delete=False) as fh:
        filename = fh.name  # file is deleted in 'finally' clause
        print(filename)
    try:
        aue.write_excel_from_rowslists(filename, testdata)
        # import time
        # time.sleep(60)
        columns = aue.read_excel_as_columnsdict(filename)
        print(columns)
        assert list(columns.keys()) == ['a', 'b', 'c', 'dee']
        assert len(columns['dee']) == 2
        assert columns['c'][1] == "c2"
    finally:
        os.unlink(filename)