[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