diff options
Diffstat (limited to 'python/reallocate_iam.py')
| -rw-r--r-- | python/reallocate_iam.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/python/reallocate_iam.py b/python/reallocate_iam.py index fd5a6c70..02db04a4 100644 --- a/python/reallocate_iam.py +++ b/python/reallocate_iam.py @@ -8,7 +8,7 @@ def gen_old_iam(fund, cob, conn): """'Finds and cancels old IAM uploads""" with conn.cursor() as c: c.execute( - "DELETE FROM iam_tickets WHERE trade_date=%s AND fund=%s RETURNING *", + "DELETE FROM iams WHERE trade_date=%s AND fund=%s RETURNING *", ( cob, fund, @@ -46,7 +46,7 @@ def gen_new_iam_offsets(fund, cob, conn): ), ) for row in c: - d = row._asdict() | {"offset": True, "folder": "M_CSH_CASH"} + d = row._asdict() | {"is_offset": True, "folder": "M_CSH_CASH"} yield IAMDeal.from_dict(**d) @@ -61,22 +61,25 @@ def gen_matured_iam(fund, cob, conn): yield IAMDeal.from_dict(**d) -def main(fund, cob, conn): +def build_iam(fund, cob, conn, upload): service = Service[fund] for old_iam in gen_old_iam(fund, cob, conn): service.push_trade(old_iam, "CANCEL") - for new_iam in gen_iam(fund, cob, conn): + for new_iam in gen_new_iam(fund, cob, conn): new_iam.stage() if fund in ("BOWDST"): - for new_iam_offset in gen_iam_offsets(fund, cob, conn): + for new_iam_offset in gen_new_iam_offsets(fund, cob, conn): new_iam_offset.stage() for iam in IAMDeal.commit(returning=True): - service.push(iam, "NEW") + service.push_trade(iam, "NEW") for update_iam in gen_matured_iam(fund, cob, conn): - service.push(update_iam, "UPDATE") + service.push_trade(update_iam, "UPDATE") conn.commit() buf, dest = service.build_buffer() - service.upload(buf, dest.name) + if upload: + pass + # service.upload(buf, dest.name) + service().clear() if __name__ == "__main__": @@ -91,6 +94,9 @@ if __name__ == "__main__": type=datetime.date.fromisoformat, default=prev_business_day(datetime.date.today()), ) + parser.add_argument( + "-n", "--no-upload", action="store_true", help="do not upload to CTM" + ) args = parser.parse_args() for fund in ("BOWDST",): - main(fund, args.cob, conn) + build_iam(fund, args.cob, conn, not args.no_upload) |
