Files
@ cc81e11b8b69
Branch filter:
Location: NPO-Accounting/experimental-accounting-api/accounting/models.py - annotation
cc81e11b8b69
1.6 KiB
text/x-python
Removed api doc for local temp file
032175cd26d9 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 032175cd26d9 032175cd26d9 9656c39e9127 9656c39e9127 9656c39e9127 032175cd26d9 032175cd26d9 032175cd26d9 032175cd26d9 032175cd26d9 032175cd26d9 032175cd26d9 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 032175cd26d9 9656c39e9127 9656c39e9127 032175cd26d9 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 9656c39e9127 | import uuid
from decimal import Decimal
class Transaction:
def __init__(self, date=None, payee=None, postings=None, metadata=None,
_generate_id=False):
self.date = date
self.payee = payee
self.postings = postings
self.metadata = metadata if metadata is not None else {}
if _generate_id:
self.generate_id()
def generate_id(self):
self.metadata.update({'Id': uuid.uuid4()})
def __repr__(self):
return ('<{self.__class__.__name__} {date}' +
' {self.payee} {self.postings}').format(
self=self,
date=self.date.strftime('%Y-%m-%d'))
class Posting:
def __init__(self, account=None, amount=None, metadata=None):
self.account = account
self.amount = amount
self.metadata = metadata if metadata is not None else {}
def __repr__(self):
return ('<{self.__class__.__name__} "{self.account}"' +
' {self.amount}>').format(self=self)
class Amount:
def __init__(self, amount=None, symbol=None):
self.amount = Decimal(amount)
self.symbol = symbol
def __repr__(self):
return ('<{self.__class__.__name__} {self.symbol}' +
' {self.amount}>').format(self=self)
class Account:
def __init__(self, name=None, amounts=None, accounts=None):
self.name = name
self.amounts = amounts
self.accounts = accounts
def __repr__(self):
return ('<{self.__class__.__name__} "{self.name}" {self.amounts}' +
' {self.accounts}>').format(self=self)
|