X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/5be6cca599e67d8fb8213ab76989271b873118a5..e8ae4a469b8b5db19a27a2bf71bb04142a68a6f0:/bin/monzo.py diff --git a/bin/monzo.py b/bin/monzo.py index 9f404ef..722cc5f 100755 --- a/bin/monzo.py +++ b/bin/monzo.py @@ -7,16 +7,33 @@ import sys outformat = "qif" # outformat = "csv" +class UnknownAccountError(Exception): + pass + +def get_account(data): + account_id = data["transactions"][0]["account_id"] + if account_id == "": + return "Accounts:Monzo" + elif account_id == "": + return "Accounts:Joint Account" + + raise UnknownAccountError(account_id) + if __name__ == "__main__": - if outformat == "qif": - print("!Account") - print("NCurrent Accounts:Monzo") - print("^") - print("!Type:Bank") - cnt = 1 with open(sys.argv[1], 'r') if len(sys.argv) > 1 else sys.stdin as fp: data = json.load(fp) + + if outformat == "qif": + print("!Account") + print("NCurrent {}".format(get_account(data))) + print("^") + print("!Type:Bank") + + cnt = 1 for t in data.get("transactions"): + if t.get("decline_reason", ""): + continue + try: date = datetime.strptime(t["created"], "%Y-%m-%dT%H:%M:%S.%fZ") except ValueError: