diff options
Diffstat (limited to 'python/process_queue.py')
| -rw-r--r-- | python/process_queue.py | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/python/process_queue.py b/python/process_queue.py index 1bc86c3e..ff91c094 100644 --- a/python/process_queue.py +++ b/python/process_queue.py @@ -352,23 +352,43 @@ def build_termination( (dealid,), ) dealid, cp_code, notional, partial_amounts, globeopid = c.fetchone() - remaining_notional = notional - sum(partial_amounts) + if partial_amounts is not None: + remaining_notional = notional - sum(partial_amounts) + else: + remaining_notional = notional termination_amount = termination_amount or remaining_notional - c.execute( - f"UPDATE {table} " - "SET termination_amount=termination_amount||%s::float8, " - "termination_cp=termination_cp||%s::text, " - "termination_fee=termination_fee||%s::float8, " - "termination_date=termination_date||%s::date " - "WHERE dealid=%s", - ( - termination_amount, - termination_cp or cp_code, - fee, - termination_date, - dealid, - ), - ) + if deal_type == "CreditDefaultSwapDeal": + c.execute( + f"UPDATE {table} " + "SET termination_amount=termination_amount||%s::float8, " + "termination_cp=termination_cp||%s::text, " + "termination_fee=termination_fee||%s::float8, " + "termination_date=termination_date||%s::date " + "WHERE dealid=%s", + ( + termination_amount, + termination_cp or cp_code, + fee, + termination_date, + dealid, + ), + ) + else: + c.execute( + f"UPDATE {table} " + "SET termination_amount=%s::float8, " + "termination_cp=%s::text, " + "termination_fee=%s::float8, " + "termination_date=%s::date " + "WHERE dealid=%s", + ( + termination_amount, + termination_cp or cp_code, + fee, + termination_date, + dealid, + ), + ) dawndb.commit() headers = [ "DealType", |
