usawa

Signed, immutable accounting.
Log | Files | Refs | Submodules | LICENSE

commit 895a86e94f07ceffb2cd63eb1a67aaf659c59680
parent 254a7ff20f4dce2f27a726f5cec85d8e74d01644
Author: lash <dev@holbrook.no>
Date:   Sat,  4 Apr 2026 15:52:40 -0600

Improve entry session description

Diffstat:
Mdummy/usawa/cli/entry.py | 27+++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/dummy/usawa/cli/entry.py b/dummy/usawa/cli/entry.py @@ -171,7 +171,7 @@ def try_entry(ctx, entry_spec): class EntrySession: - def __init__(self, ctx, entry=None, description=None, extref=None, dt=None, ref=None): + def __init__(self, ctx, entry=None, heading=None, description=None, extref=None, dt=None, ref=None, amount=None, lines=[]): # context props self.ctx = ctx self.unitbase = ctx.uidx.base @@ -189,9 +189,14 @@ class EntrySession: self.have_src = False self.have_dst = False + # supplementary props + self.heading = heading + self.lines = lines + self.amount = float(amount) + self.entry = try_entry(self.ctx, entry) if self.entry == None: - self.entry = Entry.empty(unitindex=self.ctx.uidx, description=self.description, ref=self.ref, extref=self.extref) + self.entry = Entry.empty(unitindex=self.ctx.uidx, description=self.description, ref=self.ref, extref=self.extref, tx_date=self.dt) if self.entry.serial > 0: raise NotImplementedError('entry edit not yet implemented') self._do_prepare() @@ -326,6 +331,7 @@ class EntrySession: self.ctx.resolver.put_entry(self.entry, lookup='sha512') else: self.ctx.store.put_draft(self.entry) + return True @@ -340,18 +346,31 @@ class EntrySession: return self.entry + def get_description(self): + description = self.entry.description + if self.heading != None: + description = self.heading + " " + description + return description + + def __str__(self): s = """Date: {} -Description: {} Ref: {} Extref: {} """.format( self.entry.dt, - self.entry.description, self.entry.ref, self.entry.extref, ) + if self.amount: + s += "Amount: " + str(self.amount) + "\n" + + s += "Description: " + self.get_description() + "\n" + + for v in self.lines: + s += "\t" + v + "\n" + s += "Accounts src:\n" for v in self.entry.debit: typ = getattr(AccountType, v.typ)