import datetime import argparse from exchangelib import HTMLBody from report_ops.utils import Monitor from mtm_status import get_latest_file counterparty_contacts = { ("BAMSNY", "USD"): ( "dg.gcss_usip_mo@bofa.com", "shalini.goel@bofa.com", "dtcc.chasing@bofa.com", "dg.cmbs-mbex_trade_support@bofa.com", ), ("BAMSNY", "EUR"): ( "emea_credit_fo_support@bofa.com", "dtcc.chasing@bofa.com", "dg.cmbs-mbex_trade_support@bofa.com", ), ("JPCBNY", "USD"): ("credit.na.affirmations@jpmorgan.com",), ("JPCBNY", "EUR"): ("JPM.creditassignmentseurope@jpmorgan.com",), ("MSCSNY", "USD"): ("msnovationsteam@morganstanley.com",), ("GOLDNY", "USD"): ( "Navneet.Sawant@gs.com", "Vishal.Kanojia@ny.email.gs.com", "NY-CDMO@ny.email.gs.com", ), ("GOLDNY", "EUR"): ( "Navneet.Sawant@gs.com", "Vishal.Kanojia@ny.email.gs.com", "LDNCDMO@gs.com", ), ("CITINY", "USD"): ( "citiassignmentsus@citigroup.com", "james.b.okun@citi.com", ), ("CITINY", "EUR"): ( "citiassignmentsus@citigroup.com", "aaron.beasant@citi.com", ), ("BNPBNY", "USD"): ("LM_Sales_Assistants@US.BNPParibas.com",), ("BNPBNY", "EUR"): ("CDSnovationsEurope@bnpparibas.com",), } class CreditNovationsMonitor( Monitor, headers=( "date", "ncm_id", "EE", "RP", "currency", ), num_format=[], ): @classmethod def email(cls, date, contacts): if not cls._staging_queue: return cls._em.send_email( f"*ACTION REQUESTED* Unconsented Novations Due Today {date}", HTMLBody( f"""
Good morning,