aboutsummaryrefslogtreecommitdiffstats
path: root/python/load_intex_collateral.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/load_intex_collateral.py')
-rw-r--r--python/load_intex_collateral.py27
1 files changed, 11 insertions, 16 deletions
diff --git a/python/load_intex_collateral.py b/python/load_intex_collateral.py
index 02018762..c7c2580f 100644
--- a/python/load_intex_collateral.py
+++ b/python/load_intex_collateral.py
@@ -2,7 +2,7 @@ import psycopg2
import os, csv, datetime
import pdb
from common import root, sanitize_float
-from db import conn, query_db
+from db import conn
import sys
import uuid
from load_indicative import upload_cusip_data, upload_deal_data
@@ -22,7 +22,7 @@ def windows1252_encoder(fh):
for line in fh:
yield line.decode('windows-1252').encode('utf-8')
-def upload_data(conn, dealnames, workdate, logger=None):
+def upload_data(conn, dealnames, workdate):
for dealname in dealnames:
#dealname, updatedate = line.rstrip().split()
# updatedate = datetime.datetime.strptime(updatedate, '%m/%d/%Y')
@@ -38,10 +38,7 @@ def upload_data(conn, dealnames, workdate, logger=None):
missingfields = set(fields).union({'Gross Margin'}) - set(dr.fieldnames)
if "LoanX ID" in missingfields:
msg = "{0}: LoanX ID column is missing. Probably an error in exporting from intex".format(dealname)
- if logger:
- logger.info(msg)
- else:
- print(msg)
+ logging.warning(msg)
data = {}
for line in dr:
for f in missingfields:
@@ -57,10 +54,10 @@ def upload_data(conn, dealnames, workdate, logger=None):
else:
#sanity checks for loanxid and cusip
if len(line['LoanX ID']) > 8:
- print("dubious id found: {0}".format(line['LoanX ID']))
+ logging.warning("dubious id found: {0}".format(line['LoanX ID']))
line['LoanX ID'] = line['LoanX ID'][:8]
if len(line['CUSIP']) > 9:
- print("dubious CUSIP found: {0}".format(line['CUSIP']))
+ logging.warning("dubious CUSIP found: {0}".format(line['CUSIP']))
line['CUSIP'] = line['CUSIP'][:9]
if len(line['Asset Subtype'])>10:
line['Asset Subtype'] = line['Asset Subtype'][:9]
@@ -112,7 +109,8 @@ def upload_data(conn, dealnames, workdate, logger=None):
currlen = c.fetchone()[0]
conn.commit()
if currlen != len(data): #then we delete and just reupload
- print("{0} has {1} rows in the database and current collateral file has {2}".format(dealname, currlen, len(data)))
+ logging.warning("{0} has {1} rows in the database " \
+ "and current collateral file has {2}".format(dealname, currlen, len(data)))
with conn.cursor() as c:
sqlstr = "DELETE FROM et_collateral where dealname = %s and updatedate = %s"
c.execute(sqlstr, (dealname, updatedate))
@@ -132,14 +130,11 @@ def upload_data(conn, dealnames, workdate, logger=None):
try:
c.executemany(sqlstr, [(dealname, updatedate, k) + tuple(v) for k, v in data.items()])
except (psycopg2.DataError, TypeError) as detail:
- if logger:
- logger.info(detail)
- else:
- print(detail)
+ logging.error(detail)
pdb.set_trace()
conn.commit()
-def intex_data(conn, workdate, logger=None):
+def intex_data(conn, workdate):
dealnames = [d.replace("_AD.txt", "").lower() for d in
os.listdir(os.path.join(root, "data", "Collaterals_" + workdate))]
basedir = os.path.join(root, "data", "Indicative_" + workdate)
@@ -151,8 +146,8 @@ def intex_data(conn, workdate, logger=None):
upload_deal_data(conn, deal_file)
#then load tranche data
for cusip_file in cusip_files:
- upload_cusip_data(conn, cusip_file, logger)
- upload_data(conn, dealnames, workdate, logger)
+ upload_cusip_data(conn, cusip_file)
+ upload_data(conn, dealnames, workdate)
if __name__ == "__main__":
if len(sys.argv) > 1: