import datetime from report_ops.fcm import BamlFcmNotify from serenitas.utils.db2 import dbconn from tabulate import tabulate _fcm_alias = {"V0NSCLMSPT": "6MZ20049"} _sql_query = ( "SELECT spots.cash_account, buy_currency, sell_currency, buy_amount, sell_amount, spot_rate, settle_date FROM spots " "LEFT JOIN accounts2 USING (cash_account) WHERE account_type='Fcm' AND spots.cp_code='BAMSNY' AND spots.trade_date =%s AND spots.fund=%s;" ) def main(trade_date, conn, fund): with conn.cursor() as c: c.execute( _sql_query, (trade_date, fund), ) for rec in c: BamlFcmNotify.process(trade_date, rec._asdict()) if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument( "date", nargs="?", type=datetime.date.fromisoformat, default=datetime.date.today(), help="working date", ) args = parser.parse_args() conn = dbconn("dawndb") for fund in ( "SERCGMAST", "ISOSEL", ): main(args.date, conn, fund)