aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/citco_ops/utils.py14
-rw-r--r--python/scotia_monitor.py26
2 files changed, 40 insertions, 0 deletions
diff --git a/python/citco_ops/utils.py b/python/citco_ops/utils.py
index f27cae93..af5c69fe 100644
--- a/python/citco_ops/utils.py
+++ b/python/citco_ops/utils.py
@@ -206,6 +206,7 @@ _recipients = {
"SERENITAS.ops@sscinc.com",
),
"BAML_FCM": ("footc_margin_csr_amrs@bofa.com",),
+ "NYOPS": ("nyops@lmcg.com",),
}
@@ -313,3 +314,16 @@ class BamlFcmNotify:
to_recipients=_recipients["BAML_FCM"],
cc_recipients=("nyops@lmcg.com",),
)
+
+
+@dataclass
+class EmailOps:
+ _em = ExchangeMessage()
+
+ @classmethod
+ def email_boston(cls, date):
+ cls._em.send_email(
+ f"Missing Cash Balance for Scotia {date}",
+ f"Please provide cash balance for Scotia for {date} in Blotter.\n\nThanks!",
+ to_recipients=_recipients["NYOPS"],
+ )
diff --git a/python/scotia_monitor.py b/python/scotia_monitor.py
new file mode 100644
index 00000000..90b6b2fb
--- /dev/null
+++ b/python/scotia_monitor.py
@@ -0,0 +1,26 @@
+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 EmailOps
+
+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 * FROM cash_balances cb WHERE fund='ISOSEL' AND account_number = '476960681512' AND date=%s;"
+ with conn.cursor() as c:
+ c.execute(sql_str, (args.cob,))
+ if not (cash_balance := c.fetchone()):
+ EmailOps.email_boston(args.cob)