diff options
| -rw-r--r-- | python/Dawn/views.py | 16 |
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>') |
