diff options
Diffstat (limited to 'python/citco_ops/remote.py')
| -rw-r--r-- | python/citco_ops/remote.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/python/citco_ops/remote.py b/python/citco_ops/remote.py index 31e81087..7a05f90e 100644 --- a/python/citco_ops/remote.py +++ b/python/citco_ops/remote.py @@ -5,12 +5,18 @@ import pandas as pd from serenitas.utils.db import dawn_engine, dbconn import datetime import re -from serenitas.analytics.dates import prev_business_day +from serenitas.analytics.dates import prev_business_day, next_business_day def citco_accrued(s): if m := re.search("100502500_INNOCAP_ISOSEL.([\d]+)\.", s): dt = datetime.datetime.strptime(m.group(1), "%Y%m%d%H%M%S") + return prev_business_day(dt) + + +def citco_all(s): + if m := re.search("SPOS4X_INNOCAP_ISOSEL_D_IM.([\d.]+)\.", s): + dt = datetime.datetime.strptime(m.group(1), "%Y%m%d.%H%M%S") return dt @@ -18,8 +24,8 @@ def load_citco_report(df, kd): df["row"] = df.index df.columns = df.columns.str.lower() df.columns = df.columns.str.replace(" ", "_") - df["period_end_date"] = prev_business_day(kd.date()) - df["knowledge_date"] = kd + df["period_end_date"] = kd.date() + df["knowledge_date"] = next_business_day(kd) for column in [ "init_date", "init_settle_date", @@ -32,7 +38,6 @@ def load_citco_report(df, kd): ]: if column in df.columns: df[column] = pd.to_datetime(df[column], infer_datetime_format=True).dt.date - df["tid"] = df["tid"].astype("str") return df @@ -56,6 +61,14 @@ class Report: SftpClient.from_creds("citco", folder="outgoing"), date, ) + elif (fund, report) == ("isosel", "all"): + return cls( + "citco_reports", + citco_all, + "SPOS4X_INNOCAP_ISOSEL_D_IM", + SftpClient.from_creds("citco", folder="outgoing"), + date, + ) @property def most_recent_report(self): @@ -76,7 +89,7 @@ class Report: with self._conn.cursor() as c: c.execute( f"DELETE FROM {self.table} WHERE period_end_date= %s", - (prev_business_day(self.date),), + (self.date,), ) self._conn.commit() df = self.to_df() |
