diff options
Diffstat (limited to 'python/task_server')
| -rw-r--r-- | python/task_server/__main__.py | 2 | ||||
| -rw-r--r-- | python/task_server/globeop.py | 20 |
2 files changed, 14 insertions, 8 deletions
diff --git a/python/task_server/__main__.py b/python/task_server/__main__.py index fb2c8f5b..3f44fe87 100644 --- a/python/task_server/__main__.py +++ b/python/task_server/__main__.py @@ -30,7 +30,7 @@ args = parser.parse_args() engine = create_engine("postgresql://dawn_user@debian/dawndb") if args.download: - for fund in ("Serenitas", "BOWDST"): + for fund in ("SERCGMAST", "BOWDST"): download_data(engine, args.date, fund) elif args.upload: time = datetime.datetime.now().time() diff --git a/python/task_server/globeop.py b/python/task_server/globeop.py index 4a8ebc57..362d0cce 100644 --- a/python/task_server/globeop.py +++ b/python/task_server/globeop.py @@ -76,7 +76,7 @@ def convert_to_csv(f): f.unlink() -def download_data(engine, workdate: datetime.date, fund="Serenitas"): +def download_data(engine, workdate: datetime.date, fund="SERCGMAST"): ftp = FtpClient.from_creds("globeop") ftp.client.cwd("outgoing") files = ftp.client.nlst() @@ -145,10 +145,10 @@ def download_data(engine, workdate: datetime.date, fund="Serenitas"): (reports_dir / filename).unlink() # convert xls to csv convert_to_csv(reports_dir / "CDS_Report.xls") - insert_todb(engine, workdate) + insert_todb(engine, workdate, fund) -def insert_todb(engine, workdate: datetime.date): +def insert_todb(engine, workdate: datetime.date, fund="SERCGMAST"): reports_dir = DAILY_DIR / str(workdate) / "Reports" if not reports_dir.exists(): reports_dir = ( @@ -161,19 +161,25 @@ def insert_todb(engine, workdate: datetime.date): for report in ("Valuation", "Pnl", "CDS"): fun = getattr(load_globeop_report, f"read_{report.lower()}_report") table = f"{report.lower()}_reports" - report_file = reports_dir / f"{report}_Report.csv" + report_file = reports_dir / f"{report}_Report_{fund}.csv" if not report_file.exists(): continue df = fun(report_file) if report == "Valuation": period_end_date = pd.Timestamp(df.periodenddate[0]) - sql_str = "DELETE FROM valuation_reports WHERE periodenddate=%s and fund='SERCGMAST'" + sql_str = "DELETE FROM valuation_reports WHERE periodenddate=%s and fund=%s" else: df["date"] = period_end_date - sql_str = f"DELETE FROM {table} WHERE date=%s" + sql_str = f"DELETE FROM {table} WHERE date=%s and fund=%s" df["row"] = df.index with engine.begin() as conn: - conn.execute(sql_str, (period_end_date,)) + conn.execute( + sql_str, + ( + period_end_date, + fund, + ), + ) df.to_sql(table, conn, if_exists="append", index=False) |
