@@ -71,18 +71,18 @@ def Amount(number, currency='USD'):
def Cost(number, currency='USD', date=FY_MID_DATE, label=None):
return bc_data.Cost(Decimal(number), currency, date, label)
def Posting(account, number,
currency='USD', cost=None, price=None, flag=None,
**meta):
type_=bc_data.Posting, **meta):
if cost is not None:
cost = Cost(*cost)
if meta is None:
if not meta:
meta = None
return bc_data.Posting(
return type_(
account,
Amount(number, currency),
cost,
price,
flag,
meta,
@@ -129,14 +129,15 @@ class Transaction:
self.postings = []
self.meta = {
'filename': '<test>',
'lineno': 0,
}
self.meta.update(meta)
for posting in postings:
self.add_posting(*posting)
if postings is not None:
def add_posting(self, arg, *args, **kwargs):
"""Add a posting to this transaction. Use any of these forms:
txn.add_posting(account, number, …, kwarg=value, …)
txn.add_posting(account, number, …, posting_kwargs_dict)