Example #1
0
def parse2book(elfile, eefile, afmfile, book_name="Test"):
    dicee = parse_esex(eefile)
    dicafm = parse_afm(afmfile)
    prs = elparse.parse_imerologio(elfile)
    book = TransactionBook(book_name)
    # Parse files and add transactions to book
    for trid, head in prs['tr_header'].items():
        per = prs['tr_per'][trid]
        trn = Transaction(head.date, head.parastatiko, per.perigrafi,
                          per.lineperigrafi)
        for eeper, eeafm in dicee[head.date].items():
            # print(eeper, eeafm, per.lineperigrafi)
            if eeper in per.lineperigrafi:
                trn.afm = eeafm
        for detail_line in prs['arthra'][trid]:
            dtl = prs['tr_lines'][detail_line]
            acn = prs['lmoi'][dtl.account_code]
            if dtl.account_code in dicafm.keys():
                trn.afm = dicafm[dtl.account_code]
            trn.add_line_dc(dtl.account_code, dtl.debit, dtl.credit, '', acn)
        book.add(trn)
    return book