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