aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/Dawn/views.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/python/Dawn/views.py b/python/Dawn/views.py
index 8ec84899..3aa374ac 100644
--- a/python/Dawn/views.py
+++ b/python/Dawn/views.py
@@ -5,7 +5,7 @@ import psycopg2
import redis
import socket
-from flask import (request, render_template, redirect,
+from flask import (abort, request, render_template, redirect,
url_for, send_from_directory, send_file, g, jsonify)
from .models import (ModelForm, CASH_STRAT, CCY,
@@ -127,6 +127,8 @@ def get_deal(kind):
return SwaptionDeal
elif kind == 'future':
return FutureDeal
+ elif kind == 'wire':
+ return CashFlowDeal
else:
raise RuntimeError(f'Unknown Deal type: {kind}')
@@ -313,12 +315,14 @@ def trade_manage(tradeid, kind):
@app.route('/', defaults={'kind': 'bond'})
@app.route('/<kind>')
def list_trades(kind):
- if kind == 'wire':
- Deal = CashFlowDeal
- else:
+ try:
Deal = get_deal(kind)
- trade_list = Deal.query.order_by(Deal.trade_date.desc(), Deal.id.desc())
- return render_template(f'{kind}_blotter.html', trades=trade_list.all())
+ except RuntimeError as e:
+ app.logger.error(e)
+ abort(404)
+ else:
+ trade_list = Deal.query.order_by(Deal.trade_date.desc(), Deal.id.desc())
+ return render_template(f'{kind}_blotter.html', trades=trade_list.all())
@app.route('/tickets/<int:tradeid>')