[llvm-commits] [zorg] r125858 - /zorg/trunk/llvmlab/llvmlab/ui/app.py
Daniel Dunbar
daniel at zuster.org
Fri Feb 18 08:40:32 PST 2011
Author: ddunbar
Date: Fri Feb 18 10:40:32 2011
New Revision: 125858
URL: http://llvm.org/viewvc/llvm-project?rev=125858&view=rev
Log:
llvmlab: Load data on application startup.
Modified:
zorg/trunk/llvmlab/llvmlab/ui/app.py
Modified: zorg/trunk/llvmlab/llvmlab/ui/app.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/llvmlab/llvmlab/ui/app.py?rev=125858&r1=125857&r2=125858&view=diff
==============================================================================
--- zorg/trunk/llvmlab/llvmlab/ui/app.py (original)
+++ zorg/trunk/llvmlab/llvmlab/ui/app.py Fri Feb 18 10:40:32 2011
@@ -3,12 +3,46 @@
import flask
from flask import redirect, render_template, url_for
+import llvmlab.data
+import llvmlab.user
+
+def load_llvmlab_data(app):
+ """load_llvmlab_data(app) -> data.Data
+
+ Load the LLVM-Lab data for the given application.
+ """
+
+ data_path = app.config["DATA_PATH"]
+ data_file = open(data_path, "rb")
+ data_object = flask.json.load(data_file)
+ data_file.close()
+
+ # Create the internal Data object.
+ data = llvmlab.data.Data.fromdata(data_object)
+
+ # Set the admin pseudo-user.
+ data.set_admin_user(llvmlab.user.User(
+ id = app.config['ADMIN_LOGIN'],
+ passhash = app.config['ADMIN_PASSHASH'],
+ name = app.config['ADMIN_NAME'],
+ email = app.config['ADMIN_EMAIL']))
+
+ return data
+
+###
+
# Construct the Flask application.
app = flask.Flask(__name__)
# Load the configuration file.
app.config.from_envvar("LLVMLAB_CONFIG")
+# Load the LLVM-Lab database.
+app.config.data = load_llvmlab_data(app)
+
+###
+# Routing
+
@app.route('/')
def index():
return render_template("index.html")
@@ -17,6 +51,8 @@
def favicon_ico():
return redirect(url_for('static', filename='favicon.ico'))
+###
+
if __name__ == '__main__':
app.debug = app.config['DEBUG']
app.run()
More information about the llvm-commits
mailing list