aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/globeop.py32
1 files changed, 22 insertions, 10 deletions
diff --git a/python/globeop.py b/python/globeop.py
index 0d9fa39e..6e0a067d 100644
--- a/python/globeop.py
+++ b/python/globeop.py
@@ -8,6 +8,7 @@ import re
import logging
import argparse
import shutil
+import pandas as pd
try:
import pandas as pd
@@ -40,6 +41,9 @@ def key_fun(s):
KD = datetime.datetime.strptime(regex.group(1), "%Y%m%d.%H%M%S")
return (PED, KD)
+def run_date(s):
+ return datetime.datetime.strptime(s.split("_")[2], "%Y%m%d.%H%M%S")
+
def download_data(workdate):
ftp = FTP('ftp.globeop.com')
ftp.login('srntsftp', config.ftp_password)
@@ -49,18 +53,21 @@ def download_data(workdate):
"Profit" in filename if get_ped(filename) < workdate]
valuationfiles = [filename for filename in files if "csv" in filename and \
"Valuation" in filename if get_ped(filename) < workdate]
+ cdsfiles = [filename for filename in files if "TradeSearch" in filename \
+ if run_date(filename).date()<=workdate]
try:
pnlfile = sorted(pnlfiles, key=key_fun, reverse=True)[0]
valuationfile = sorted(valuationfiles, key=key_fun, reverse=True)[0]
+ cdsfile = sorted(cdsfiles, key=run_date, reverse=True)[0]
except IndexError:
logging.error("no file available for date: %s" % str(workdate))
return
+ reports_dir = os.path.join(root, str(workdate), "Reports")
+ if not os.path.exists(reports_dir):
+ os.makedirs(reports_dir)
- if not os.path.exists(os.path.join(root, str(workdate), "Reports")):
- os.makedirs(os.path.join(root, str(workdate), "Reports"))
-
- for filename in [pnlfile, valuationfile]:
- with open(os.path.join(root, str(workdate), "Reports", filename), "wb") as fh:
+ for filename in [pnlfile, valuationfile, cdsfile]:
+ with open(os.path.join(reports_dir, filename), "wb") as fh:
ftp.retrbinary('RETR ' + filename, fh.write)
logging.info("downloaded {0}".format(filename))
@@ -70,15 +77,20 @@ def download_data(workdate):
elif os.name == 'posix':
gpg = gnupg.GPG(gnupghome = '/home/guillaume/.gnupg')
gpg.encoding = 'utf8'
- for filename in [pnlfile, valuationfile]:
+ for filename in [pnlfile, valuationfile, cdsfile]:
if "Profit" in filename:
newfilename = "Pnl.csv"
- else:
+ elif "Valuation" in filename:
newfilename = "Valuation_Report.csv"
- with open(os.path.join(root, str(workdate), "Reports", filename), "rb") as fh:
- gpg.decrypt_file(fh, output = os.path.join(root, str(workdate), "Reports", newfilename),
+ else:
+ newfilename = "CDS_Report.xls"
+ with open(os.path.join(reports_dir, filename), "rb") as fh:
+ gpg.decrypt_file(fh, output = os.path.join(reports_dir, newfilename),
passphrase=config.key_password)
- os.remove(os.path.join(root, str(workdate), "Reports", filename))
+ os.remove(os.path.join(reports_dir, filename))
+ df = pd.read_excel(os.path.join(reports_dir, "CDS_Report.xls"), sheetname=1, skiprows=[0,1,2,3])
+ df.to_csv(os.path.join(reports_dir, "CDS_Report.csv"), index=False)
+ os.remove(os.path.join(reports_dir, "CDS_Report.xls"))
def upload_data(startdate):
for i in range(10):