diff options
Diffstat (limited to 'python/citco_ops')
| -rw-r--r-- | python/citco_ops/utils.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/python/citco_ops/utils.py b/python/citco_ops/utils.py index b3c9dd78..6e71ef9f 100644 --- a/python/citco_ops/utils.py +++ b/python/citco_ops/utils.py @@ -33,15 +33,15 @@ def get_success_data(line): def get_failed_data(line): if len(line) == 1: - return ("failed", line[-1]) + return ("failed", line[-1], line[-1]) elif line[1]: # Trade upload - return ("trade", line[2]) + return ("trade", line[2], line[-1]) elif ( not line[1] and line[2] ): # Instrument upload, just mark as failed if it's a single error message - return ("instrument", line[2]) + return ("instrument", line[2], line[-1]) else: - return ("failed", line[-1]) + return ("failed", line[-1], line[-1]) def instrument_table(instrument_id): @@ -62,6 +62,7 @@ class CitcoSubmission(Deal, deal_type=None, table_name="citco_submission"): identifier: str serenitas_id: str submit_date: datetime.datetime = field(default=datetime.datetime.now()) + processed: bool = field(default=False) @classmethod def from_citco_line(cls, line, fname): @@ -70,15 +71,13 @@ class CitcoSubmission(Deal, deal_type=None, table_name="citco_submission"): identifier_type, serenitas_id, identifier = get_success_data(line) else: serenitas_id = "failed" - ( - identifier_type, - identifier, - ) = get_failed_data(line) + (identifier_type, serenitas_id, identifier) = get_failed_data(line) return cls( fname=fname_short, identifier_type=identifier_type, identifier=identifier, serenitas_id=serenitas_id, + processed=is_processed, ) @classmethod @@ -93,7 +92,7 @@ class CitcoSubmission(Deal, deal_type=None, table_name="citco_submission"): with cls._conn.cursor() as c: for row in cls._insert_queue: if row[1] == "instrument": - serenitas_id = row[4] + serenitas_id = row[3] c.execute( f"UPDATE {instrument_table(serenitas_id)} SET committed=True AND status='Acknowledged' WHERE dealid=%s", (serenitas_id,), @@ -114,7 +113,7 @@ class CitcoSubmission(Deal, deal_type=None, table_name="citco_submission"): cls.update_citco_tables() em = ExchangeMessage() em.send_email( - f"(CITCO) UPLOAD {'SUCCESS' if cls._insert_queue[0][3] != 'failed' else 'FAILED'}", + f"(CITCO) UPLOAD {'SUCCESS' if cls._insert_queue[0][5] else 'FAILED'}", "\n".join(map(str, cls._insert_queue)), ( "fyu@lmcg.com", |
