aboutsummaryrefslogtreecommitdiffstats
path: root/python/citco_ops/remote.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/citco_ops/remote.py')
-rw-r--r--python/citco_ops/remote.py23
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()