diff options
| -rw-r--r-- | python/task_server/__init__.py | 7 | ||||
| -rw-r--r-- | python/task_server/__main__.py | 4 | ||||
| -rw-r--r-- | python/task_server/globeop.py | 21 | ||||
| -rw-r--r-- | python/task_server/rest.py | 2 |
4 files changed, 18 insertions, 16 deletions
diff --git a/python/task_server/__init__.py b/python/task_server/__init__.py index 63d44dd4..9b1e7d35 100644 --- a/python/task_server/__init__.py +++ b/python/task_server/__init__.py @@ -1,10 +1,13 @@ from flask import Flask +from pathlib import Path app = Flask(__name__) -import task_server.rest import logging import os -fh = logging.FileHandler(filename=os.path.join(os.environ["LOG_DIR"], 'tasks.log')) +LOG_DIR = Path(os.environ["LOG_DIR"]) +DAILY_DIR = Path(os.environ["DAILY_DIR"]) + +fh = logging.FileHandler(filename=LOG_DIR / 'tasks.log') formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) diff --git a/python/task_server/__main__.py b/python/task_server/__main__.py index 72754733..cdab9883 100644 --- a/python/task_server/__main__.py +++ b/python/task_server/__main__.py @@ -1,11 +1,11 @@ import logging import argparse import datetime -import os +from . import LOG_DIR from .globeop import download_data, upload_data from sqlalchemy import create_engine -logging.basicConfig(filename=os.path.join(os.environ["LOG_DIR"], 'globeop.log'), +logging.basicConfig(filename=LOG_DIR / 'globeop.log', level=logging.INFO, format='%(asctime)s %(message)s') diff --git a/python/task_server/globeop.py b/python/task_server/globeop.py index e95823c8..4f4def68 100644 --- a/python/task_server/globeop.py +++ b/python/task_server/globeop.py @@ -1,8 +1,9 @@ import os import os.path +from . import DAILY_DIR from ftplib import FTP import gnupg -from task_server import config +from . import config import re import logging import sys @@ -93,7 +94,7 @@ def download_data(workdate): if not available_files: logger.error("no file available for date: %s" % str(workdate)) return - reports_dir = Path(os.environ['DAILY_DIR']) / str(workdate) / "Reports" + reports_dir = DAILY_DIR / str(workdate) / "Reports" if not reports_dir.exists(): reports_dir.mkdir(parents=True) @@ -121,7 +122,7 @@ def download_data(workdate): insert_todb(workdate) def insert_todb(workdate): - reports_dir = Path(os.environ['DAILY_DIR']) / str(workdate) / "Reports" + reports_dir = DAILY_DIR / str(workdate) / "Reports" engine = create_engine('postgresql://dawn_user@debian/dawndb') for report in ["Valuation", "Pnl", "CDS"]: fun = getattr(load_globeop_report, f"read_{report.lower()}_report") @@ -145,24 +146,22 @@ def upload_bond_marks(engine, workdate): params=(workdate.date(),)) df.rename(columns={'identifier': 'IDENTIFIER', 'price': 'Price'}, inplace=True) - filename = 'securitiesNpv{0:%Y%m%d_%H%M%S}.csv'.format(workdate) - fullpath = os.path.join(os.environ['DAILY_DIR'], str(workdate.date()), filename) + fullpath = DAILY_DIR / str(workdate.date()) / f"securitiesNpv{workdate:%Y%m%d_%H%M%S}.csv" df.to_csv(fullpath, index=False) ftp = get_ftp('incoming') - with open(fullpath, "rb") as fh: - ftp.storbinary('STOR ' + filename, fh) + with fullpath.open("rb") as fh: + ftp.storbinary('STOR ' + fullpath.name, fh) logger.info("upload bond marks done") def upload_cds_marks(engine, workdate): df = pd.read_sql_query("""SELECT cds.dealid AS "DealID", 'CREDIT_SWAP' AS "Instrument Type", (a.clean_nav+a.accrued) AS "NPV" from list_abscds_marks(%s) a JOIN cds USING (security_id)""", engine, params = (workdate.date(),)) - filename = 'otcNpv{0:%Y%m%d}.csv'.format(workdate) - fullpath = os.path.join(os.environ['DAILY_DIR'], str(workdate.date()), filename) + fullpath = DAILY_DIR / str(workdate.date()) / f"otcNpv{workdate:%Y%m%d}.csv" df.to_csv(fullpath, index=False) ftp = get_ftp('incoming') - with open(fullpath, "rb") as fh: - ftp.storbinary('STOR ' + filename, fh) + with fullpath.open("rb") as fh: + ftp.storbinary('STOR ' + fullpath.name, fh) logger.info("upload cds marks done") def upload_data(engine, workdate): diff --git a/python/task_server/rest.py b/python/task_server/rest.py index 62f1e565..06b46de4 100644 --- a/python/task_server/rest.py +++ b/python/task_server/rest.py @@ -5,7 +5,7 @@ import redis from intex.load_intex_collateral import intex_data from .globeop import download_data from .insert_tranche_quotes import insert_quotes -from task_server import app +from . import app from flask import request, g import json |
