aboutsummaryrefslogtreecommitdiffstats
path: root/python/parse_gs_exchange.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/parse_gs_exchange.py')
-rw-r--r--python/parse_gs_exchange.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/python/parse_gs_exchange.py b/python/parse_gs_exchange.py
index 847132c7..9f22ac0f 100644
--- a/python/parse_gs_exchange.py
+++ b/python/parse_gs_exchange.py
@@ -5,10 +5,14 @@ from parse_emails import write_todb
import datetime
import json
+import logging
import os
import pandas as pd
import re
+class ParseError(Exception):
+ pass
+
def get_msgs(email_address='ghorel@lmcg.com', count=None):
with open(os.path.join('.credentials', email_address + '.json')) as fh:
creds = json.load(fh)
@@ -35,6 +39,8 @@ def parse_email(email, fwd_index):
re.match("([\S]+)\s+\(([^)]+)\)", ref).groups())
else:
refspread = float(ref)
+ else:
+ raise ParseError(f"can't parse subject line: {email.subject}")
quotedate = datetime.datetime.fromtimestamp(email.datetime_sent.timestamp(),
timezone('America/New_York'))
@@ -117,7 +123,11 @@ if __name__=="__main__":
fwd_index = []
swaption_quotes = {}
for email in get_msgs(count=20):
- quotedate, indextype, series, df = parse_email(email, fwd_index)
+ try:
+ quotedate, indextype, series, df = parse_email(email, fwd_index)
+ except ParseError as e:
+ logging.exception(e)
+
swaption_quotes[(quotedate, indextype, series)] = df
swaption_quotes = clean_df(swaption_quotes)