import datetime import logging from serenitas.analytics.dates import prev_business_day from serenitas.utils.db import dbconn from serenitas.utils.exchange import ExchangeMessage from citco_ops.utils import GFSMonitor if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument( "cob", nargs="?", type=datetime.date.fromisoformat, default=prev_business_day(datetime.date.today()), help="working date", ) args = parser.parse_args() logger = logging.getLogger(__name__) conn = dbconn("dawndb") sql_str = "SELECT endqty as payment_amount, invccy as currency, periodenddate as settle_date FROM valuation_reports vr WHERE fund=%s AND port ='GFS_HELPER_BUSINESS_UNIT' AND periodenddate =%s AND abs(endqty) > 50000;" em = ExchangeMessage() with conn.cursor() as c: for fund in ("BOWDST", "SERCGMAST"): c.execute(sql_str, (fund, args.cob)) GFSMonitor.stage_payment(c) GFSMonitor.email_globeop(fund) GFSMonitor._insert_queue.clear()