]>
git.rmz.io Git - dotfiles.git/blob - bin/monzo.py
3 from datetime
import datetime
10 if __name__
== "__main__":
11 if outformat
== "qif":
13 print("NCurrent Accounts:Monzo")
17 with open(sys
.argv
[1], 'r') if len(sys
.argv
) > 1 else sys
.stdin
as fp
:
19 for t
in data
.get("transactions"):
20 if t
.get("decline_reason", ""):
24 date
= datetime
.strptime(t
["created"], "%Y-%m-%dT%H:%M:%S.%fZ")
26 date
= datetime
.strptime(t
["created"], "%Y-%m-%dT%H:%M:%SZ")
27 amount
= t
["amount"] / 100
28 if "name" in t
.get("counterparty", {}):
29 payee
= t
["counterparty"]["name"]
30 elif t
["merchant"] is None:
31 payee
= t
["description"]
33 payee
= t
["merchant"]["name"]
34 memo
= t
["description"]
35 memo
+= "\n{local_amount} {local_currency}".format(**t
)
37 if outformat
== "csv":
38 print('{date:%Y-%m-%d},{amount},"{payee}","{description}","{notes}"'.format(date
=date
,
42 elif outformat
== "qif":
43 print("D{:%Y-%m-%d}".format(date
))
44 print("T{}".format(amount
))
45 print("P{}".format(payee
))
46 print("M{}".format(memo
))
47 print("#{}".format(t
['id']))