aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/reallocate_iam.py7
-rw-r--r--python/report_ops/cash.py5
2 files changed, 7 insertions, 5 deletions
diff --git a/python/reallocate_iam.py b/python/reallocate_iam.py
index 3fdd4959..b92b95f4 100644
--- a/python/reallocate_iam.py
+++ b/python/reallocate_iam.py
@@ -17,6 +17,7 @@ def gen_old_iam(fund, cob, conn):
for row in c:
d = row._asdict()
yield IAMDeal.from_dict(**d)
+ conn.commit()
def gen_new_iam(fund, cob, conn):
@@ -58,12 +59,13 @@ def gen_matured_iam(fund, cob, conn):
"""Sets previous days as matured"""
with conn.cursor() as c:
c.execute(
- "UPDATE iam_tickets SET maturity=%s WHERE maturity is NULL AND trade_date<%s AND fund=%s RETURNING *",
+ "UPDATE iams SET maturity=%s WHERE maturity is NULL AND trade_date<=%s AND fund=%s RETURNING *",
(cob, prev_business_day(cob), fund),
)
for row in c:
- d = row._asdict()
+ d = row._asdict() | {}
yield IAMDeal.from_dict(**d)
+ conn.commit()
def build_iam(fund, cob, conn, upload):
@@ -75,7 +77,6 @@ def build_iam(fund, cob, conn, upload):
if fund in ("BOWDST"):
for new_iam_offset in gen_new_iam_offsets(fund, cob, conn):
new_iam_offset.stage()
- conn.commit()
for iam in IAMDeal.commit(returning=True):
service.push_trade(iam, "NEW")
for update_iam in gen_matured_iam(fund, cob, conn):
diff --git a/python/report_ops/cash.py b/python/report_ops/cash.py
index 641ba8aa..3b9dc7a1 100644
--- a/python/report_ops/cash.py
+++ b/python/report_ops/cash.py
@@ -61,7 +61,9 @@ class IAMDeal(Deal, deal_type=DealType.IAM, table_name="iams"):
start_money: float = field(metadata={"globeop": "StartMoney"})
currency: str = field(metadata={"globeop": "Currency"})
fund: Fund = field(metadata={"globeop": "Fund"})
- maturity: datetime.date = None
+ maturity: datetime.date = field(
+ default=None, metadata={"globeop": "ExpirationDate"}
+ )
uploaded: bool = False
is_offset: bool = False
id: int = field(default=None, metadata={"insert": False})
@@ -81,7 +83,6 @@ class IAMDeal(Deal, deal_type=DealType.IAM, table_name="iams"):
def to_globeop(self, action):
obj = super().to_globeop(action)
obj["Deal Type"] = "IamDeal"
- obj["ExpirationDate"] = self.trade_date if action == "UPDATE" else None
obj["CallNoticeIndicator"] = "24H" if action == "NEW" else None
obj["TransactionIndicator"] = "DEPOSIT" if obj["StartMoney"] > 0 else "LOAN"
obj["StartMoney"] = abs(obj["StartMoney"])