summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchristopherlam <christopher.lck@gmail.com>2017-02-10 15:00:50 +0800
committerGitHub <noreply@github.com>2017-02-10 15:00:50 +0800
commit93f490466e49839790a5ca2b3469bee1704175a5 (patch)
tree226b0fe0a7c2974c56bc9dbaf7b8c4a981ae9ca0
parent6d05072f95d4753ce47ea29104b4c61a5780ca1e (diff)
Update multicolumn.py
-rw-r--r--reports/multicolumn.py20
1 files changed, 7 insertions, 13 deletions
diff --git a/reports/multicolumn.py b/reports/multicolumn.py
index a7e7f42..a169d66 100644
--- a/reports/multicolumn.py
+++ b/reports/multicolumn.py
@@ -11,40 +11,34 @@ from gnucashxml import from_filename
def multicolumn(book, account, date1, date2):
mybook = from_filename(book)
account = mybook.find_account(account)
-
if account is None:
raise Exception("Cannot find account "+account)
-
splits = [j for j in account.splits if date1 <= j.transaction.date.date() <= date2]
-
otheraccountlist = []
for split in splits: # For every transaction in this account
for multisplits in split.transaction.splits: # Round up its list of accounts
if multisplits.account not in otheraccountlist: # Compare with list of known accounts
otheraccountlist.append(multisplits.account) # Add it to list if not known
- print("Date",end=",")
+ print("Date", end=",")
for i in otheraccountlist:
print(i.fullname(), end=",")
print('Description')
totals = {}
for split in sorted(splits):
- print(split.transaction.date.date(),end=",")
+ print(split.transaction.date.date(), end=",")
for j in otheraccountlist:
value = sum([i.value for i in split.transaction.splits if j==i.account])
totals[j] = totals.setdefault(j, 0) + value
- print(value,end=",")
-
- print(split.transaction.description)
-
- print("",end=",")
+ print(value, end=",")
+ print(split.transaction.description)
+ print("", end=",")
for i in otheraccountlist:
print(totals[i], end=",")
print("Total")
if __name__ == "__main__":
- date1=datetime.date(2000,1,1)
- date2=datetime.date(2017,1,1)
-
+ date1=datetime.date(2000, 1, 1)
+ date2=datetime.date(2017, 1, 1)
multicolumn("test.gnucash", "Salary", date1, date2)