commit de08173d0d641881561d1e9653c0f3794b695847
parent f4084d5aba741fd2e8ca98f77ebf0fcb6da4aaa2
Author: lash <dev@holbrook.no>
Date: Fri, 1 May 2026 09:55:39 -0600
Fix bogus imports exchange rate, add extref to asset export
Diffstat:
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/dummy/usawa/asset.py b/dummy/usawa/asset.py
@@ -242,6 +242,11 @@ class Asset(UsawaElement):
o.text = self.digest.hex()
tree.append(o)
+ if self.extref:
+ o = lxml.etree.SubElement(tree, "extref")
+ o.text = self.extref
+ tree.append(o)
+
return tree
"""Generate and return an XML representation of the asset.
diff --git a/dummy/usawa/cli/entry.py b/dummy/usawa/cli/entry.py
@@ -94,7 +94,12 @@ def parse_side(ctx, v):
def parse_txdate(ctx, v):
- return datetime.date.fromisoformat(v)
+ r = None
+ try:
+ r = datetime.date.fromisoformat(v)
+ except ValueError:
+ r = datetime.datetime.fromisoformat(v)
+ return r
def input_or_default(prompt, default=None, allow_empty=False, postfix=': ', validate_fn=None):
@@ -397,6 +402,8 @@ class EntrySession:
def do_interactive_one(self):
v = input_or_default('Entry description', self.entry.description)
+ if len(v) < 2:
+ raise ValueError('description must be more than one letter')
self.entry.description = v
v = input_or_default('Internal ref', self.entry.ref)
self.entry.ref = v
diff --git a/dummy/usawa/unit.py b/dummy/usawa/unit.py
@@ -129,6 +129,7 @@ class UnitIndex:
precision = int(o.find('precision', namespaces=nsmap()).text)
logg.debug('add unit {} precision {}'.format(sym, precision))
r.detail[sym] = precision
+ r.rate[sym] = 1000000000
r.check()
return r