]> git.rmz.io Git - dotfiles.git/blobdiff - bin/monzo.py
weechat: add /meet alias
[dotfiles.git] / bin / monzo.py
index 3c79c714b820b38c69175b4d8d747120e6f30c7d..722cc5f715956f58a583c4ec077ad058b8997abc 100755 (executable)
@@ -7,13 +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("!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: