aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/intex/load_intex_collateral.py30
1 files changed, 10 insertions, 20 deletions
diff --git a/python/intex/load_intex_collateral.py b/python/intex/load_intex_collateral.py
index 08c780fe..4ee61047 100644
--- a/python/intex/load_intex_collateral.py
+++ b/python/intex/load_intex_collateral.py
@@ -3,6 +3,7 @@ import os, csv, datetime
import pdb
from common import sanitize_float
from db import dbconn
+from pathlib import Path
import sys
import uuid
from .load_indicative import upload_cusip_data, upload_deal_data
@@ -21,11 +22,7 @@ fields = ['Asset Name', 'Issuer', 'Contributed Balance', 'Asset Maturity Date',
def convertToNone(s):
return None if s=='' else s
-def windows1252_encoder(fh):
- for line in fh:
- yield line.decode('windows-1252').encode('utf-8')
-
-def upload_data(conn, dealnames, workdate):
+def upload_data(conn, workdate):
sql_fields = ["dealname", "updatedate", "name", "IssuerName", "CurrentBalance",
"Maturity", "AssetSubtype", "AssetType", "GrossCoupon",
"Spread", "Frequency", "NextPaydate", "SecondLien", "LoanXID",
@@ -34,14 +31,10 @@ def upload_data(conn, dealnames, workdate):
"Liborfloor", "ReinvFlag", "Currency", "Industry", "Country"]
sqlstr = "INSERT INTO ET_COLLATERAL({0}) VALUES({1})".format(",".join(sql_fields),
",".join(["%s"] * len(sql_fields)))
- for dealname in dealnames:
- basedir = os.path.join(os.environ['DATA_DIR'], "Collaterals_" + workdate)
- if sys.version_info[0]==2:
- fh = open(os.path.join(basedir, dealname.upper() + "_AD.txt"))
- fh = windows1252_encoder(fh)
- else:
- fh = open(os.path.join(basedir, dealname.upper() + "_AD.txt"), encoding="windows-1252")
-
+ basedir = Path(os.environ['DATA_DIR']) / ("Collaterals_" + workdate)
+ for fname in basedir.iterdir():
+ fh = open(fname, encoding="windows-1252")
+ dealname = fname.name.split("_", 1)[0].lower()
dr = csv.DictReader(fh, dialect = 'excel-tab')
missingfields = set(fields).union({'Gross Margin'}) - set(dr.fieldnames)
if "LoanX ID" in missingfields:
@@ -134,12 +127,9 @@ def upload_data(conn, dealnames, workdate):
conn.commit()
def intex_data(conn, workdate):
- dealnames = [d.replace("_AD.txt", "").lower() for d in
- os.listdir(os.path.join(os.environ['DATA_DIR'], "Collaterals_" + workdate))]
- basedir = os.path.join(os.environ['DATA_DIR'], "Indicative_" + workdate)
- files = [os.path.join(basedir, f) for f in os.listdir(basedir)]
- cusip_files = [f for f in files if "TrInfo" in f]
- deal_files = [f for f in files if "TrInfo" not in f]
+ basedir = Path(os.environ['DATA_DIR']) / ("Indicative_" + workdate)
+ cusip_files = [f for f in basedir.iterdir() if "TrInfo" in f.name]
+ deal_files = [f for f in basedir.iterdir() if "TrInfo" not in f.name]
#first load deal data
for deal_file in deal_files:
upload_deal_data(conn, deal_file)
@@ -147,4 +137,4 @@ def intex_data(conn, workdate):
for cusip_file in cusip_files:
upload_cusip_data(conn, cusip_file)
- upload_data(conn, dealnames, workdate)
+ upload_data(conn, workdate)