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