diff options
Diffstat (limited to 'python/Dawn/dawn.py')
| -rw-r--r-- | python/Dawn/dawn.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/python/Dawn/dawn.py b/python/Dawn/dawn.py index a68ec854..39b05053 100644 --- a/python/Dawn/dawn.py +++ b/python/Dawn/dawn.py @@ -1,10 +1,11 @@ -from flask import Flask, request, render_template, redirect, url_for, send_from_directory +from flask import Flask, request, render_template, redirect, url_for, send_from_directory, g from models import db, ModelForm, BondDeal, Counterparties from sqlalchemy import create_engine from sqlalchemy.exc import IntegrityError import pandas as pd import os import datetime +import redis from utils import load_counterparties, add_triggers, bump_rev, simple_serialize app = Flask(__name__) @@ -16,6 +17,11 @@ def cp_choices(): return Counterparties.query.order_by('name').\ with_entities(Counterparties.code, Counterparties.name) +def get_queue(): + q = getattr(g, 'queue', None) + if q is None: + q = g.queue = redis.Redis(host='debian') + return q class CounterpartyForm(ModelForm): class Meta: @@ -63,6 +69,9 @@ def trade_manage(tradeid): session.commit() except IntegrityError: print("TODO: fix this") + finally: + q = get_queue() + q.rpush('trades', simple_serialize(trade)) return redirect(url_for('list_trades')) else: return str(bond_form.errors) @@ -97,8 +106,9 @@ def edit_counterparty(cpcode): if __name__=="__main__": db.init_app(app) - # db.drop_all(app=app) - # db.create_all(app=app) - # add_triggers() - # load_counterparties() + #db.drop_all(app=app) + #db.create_all(app=app) + # engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI']) + #add_triggers(engine) + #load_counterparties(engine) app.run(debug=True) |
