cashbook_dataexchange/book.py

53 lines
1.6 KiB
Python
Raw Normal View History

2022-09-01 12:48:04 +00:00
# -*- coding: utf-8 -*-
# This file is part of the cashbook-module from m-ds for Tryton.
# The COPYRIGHT file at the top level of this repository contains the
# full copyright notices and license terms.
from trytond.transaction import Transaction
from trytond.pool import Pool, PoolMeta
class Book(metaclass=PoolMeta):
__name__ = 'cashbook.book'
# ~ @classmethod
# ~ def export_as_qif(cls):
# ~ """ export all transactions as QIF
# ~ """
# ~ pool = Pool()
# ~ Category2 = pool.get('cashbook.category')
# ~ QifTool = pool.get('cashbook_dataexchange.qiftool')
# ~ categories = Category2.search([],
# ~ order=[('cattype', 'ASC'), ('rec_name', 'ASC')])
# ~ export = ['!Type:Cat']
# ~ export.extend([QifTool.qif_export_category(x) for x in categories])
# ~ return '\n'.join(export)
@classmethod
def create_from_qif(cls, book, qifdata):
""" add transactions from QIF-File-content
"""
pool = Pool()
QifTool = pool.get('cashbook_dataexchange.qiftool')
Book2 = pool.get('cashbook.book')
qif_content = QifTool.split_by_type(qifdata)
if not 'Bank' in qif_content.keys():
return None
(to_create, msg_list, fail_cnt) = QifTool.convert_transactions_to_create(
2022-09-01 12:48:04 +00:00
QifTool.qif_read_transactions(qif_content['Bank'])
)
if fail_cnt == 0:
2022-09-01 12:48:04 +00:00
Book2.write(*[
[book],
{
'lines': [('create', to_create)],
}])
return [book]
return None
# end Category