summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchristopherlam <christopher.lck@gmail.com>2017-02-05 14:58:04 +0800
committerGitHub <noreply@github.com>2017-02-05 14:58:04 +0800
commit716e127e1a46974c58139f3ab6bff9ed92196a00 (patch)
treed4f7a516793d356f12ee49d41da6dc2ad245d8e6
parent42193fbc3da0e2776f5a2e49b90f4fef5ed948de (diff)
Bugfix pricedb may not exist
-rw-r--r--gnucashxml.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/gnucashxml.py b/gnucashxml.py
index 76ba930..95e99ab 100644
--- a/gnucashxml.py
+++ b/gnucashxml.py
@@ -238,7 +238,14 @@ class Price(object):
self.value,
self.currency)
-
+ def __lt__(self, other):
+ # For sorted() only
+ if isinstance(other, Price):
+ return self.date < other.date
+ else:
+ False
+
+
##################################################################
# XML file parsing
@@ -291,9 +298,10 @@ def _book_from_tree(tree):
prices = []
t = tree.find('{http://www.gnucash.org/XML/gnc}pricedb')
- for child in t.findall('price'):
- price = _price_from_tree(child, commoditydict)
- prices.append(price)
+ if t:
+ for child in t.findall('price'):
+ price = _price_from_tree(child, commoditydict)
+ prices.append(price)
root_account = None
accounts = []