summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'flask_app.py')
-rw-r--r--flask_app.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/flask_app.py b/flask_app.py
index 832702c..5356bc4 100644
--- a/flask_app.py
+++ b/flask_app.py
@@ -4,14 +4,24 @@ When run as a script, the Flask development server is started.
"""
import os, socket
-import submission_pb2, storage
-from flask import Flask, request
+import submission_pb2, storage, database
+from flask import Flask, request, g
from portage_processor import PortageProcessor
app = Flask(__name__)
store = storage.FilesystemStorage('logs/')
-processors = {'portage' : PortageProcessor(None, store)} # TODO: initialise from config file
+processors = {'portage' : PortageProcessor(store)} # TODO: initialise from config file
+
+@app.before_request
+def before_request():
+ g.db = database.get_connection('gsoc', 'gsocpasswd', 'loganalysis')
+
+@app.teardown_request
+def teardown_request(exception):
+ db = getattr(g, 'db', None)
+ if db is not None:
+ db.conn.close()
@app.route('/')
def index():
@@ -23,7 +33,7 @@ def submit():
submission.ParseFromString(request.data)
source = socket.getfqdn(request.remote_addr) # TODO: is this ok?
- processors[submission.provider].process(submission, source)
+ processors[submission.provider].process(submission, source, g.db)
return ''
if __name__ == '__main__':