[llvm-commits] [zorg] r130212 - in /zorg/trunk/lnt/lnt/server/ui: app.py templates/index.html templates/layout.html

Daniel Dunbar daniel at zuster.org
Tue Apr 26 10:47:49 PDT 2011


Author: ddunbar
Date: Tue Apr 26 12:47:49 2011
New Revision: 130212

URL: http://llvm.org/viewvc/llvm-project?rev=130212&view=rev
Log:
LNT/Flask: Finish porting index page.

Modified:
    zorg/trunk/lnt/lnt/server/ui/app.py
    zorg/trunk/lnt/lnt/server/ui/templates/index.html
    zorg/trunk/lnt/lnt/server/ui/templates/layout.html

Modified: zorg/trunk/lnt/lnt/server/ui/app.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/server/ui/app.py?rev=130212&r1=130211&r2=130212&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/server/ui/app.py (original)
+++ zorg/trunk/lnt/lnt/server/ui/app.py Tue Apr 26 12:47:49 2011
@@ -5,6 +5,7 @@
 
 import flask
 from flask import current_app
+from flask import g
 
 import lnt
 import lnt.server.ui.filters
@@ -12,16 +13,41 @@
 
 # FIXME: Redesign this.
 import lnt.viewer.Config
+from lnt.db import perfdbsummary
+from lnt.viewer import PerfDB
 
 class Request(flask.Request):
     def __init__(self, *args, **kwargs):
         super(Request, self).__init__(*args, **kwargs)
 
         self.request_time = time.time()
+        self.db = None
+        self.db_summary = None
 
     def elapsed_time(self):
         return time.time() - self.request_time
 
+    # Utility Methods
+
+    def get_db(self):
+        if self.db is None:
+            self.db = PerfDB.PerfDB(g.db_info.path)
+
+            # Enable SQL logging with db_log.
+            #
+            # FIXME: Conditionalize on an is_production variable.
+            if self.args.get('db_log') or self.form.get('db_log'):
+                import logging, StringIO
+                g.db_log = StringIO.StringIO()
+                logger = logging.getLogger("sqlalchemy")
+                logger.addHandler(logging.StreamHandler(g.db_log))
+                self.db.engine.echo = True
+
+        return self.db
+
+    def get_db_summary(self):
+        return current_app.get_db_summary(g.db_name, self.get_db())
+
 class App(flask.Flask):
     @staticmethod
     def create_standalone(config_path):
@@ -42,6 +68,7 @@
     def __init__(self, name):
         super(App, self).__init__(name)
         self.start_time = time.time()
+        self.db_summaries = {}
 
         # Override the request class.
         self.request_class = Request
@@ -59,3 +86,11 @@
         self.jinja_env.globals.update(
             app=current_app,
             old_config=self.old_config)
+
+    def get_db_summary(self, db_name, db):
+        db_summary = self.db_summaries.get(db_name)
+        if db_summary is None or not db_summary.is_up_to_date(db):
+            self.db_summaries[db_name] = db_summary = \
+                perfdbsummary.PerfDBSummary.fromdb(db)
+        return db_summary
+

Modified: zorg/trunk/lnt/lnt/server/ui/templates/index.html
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/server/ui/templates/index.html?rev=130212&r1=130211&r2=130212&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/server/ui/templates/index.html (original)
+++ zorg/trunk/lnt/lnt/server/ui/templates/index.html Tue Apr 26 12:47:49 2011
@@ -3,6 +3,14 @@
 {% block title %}Overview{% endblock %}
 {% block body %}
 
+
+{# Display available test result suites. #}
+{% set summary = request.get_db_summary() %}
+<h3>Test Results</h3>
+{% for suite in summary.suites %}
+  <a href="{{ '/'.join(suite.path) }}">{{suite.name}}</a><br>
+{% endfor %}
+
 {% if g.db_info.showGeneral %}
 <hr>
 

Modified: zorg/trunk/lnt/lnt/server/ui/templates/layout.html
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/lnt/lnt/server/ui/templates/layout.html?rev=130212&r1=130211&r2=130212&view=diff
==============================================================================
--- zorg/trunk/lnt/lnt/server/ui/templates/layout.html (original)
+++ zorg/trunk/lnt/lnt/server/ui/templates/layout.html Tue Apr 26 12:47:49 2011
@@ -65,7 +65,7 @@
 <hr>
 
 <h3>SQL Log</h3>
-<pre>{{g.db_log}}</pre>
+<pre>{{g.db_log.getvalue()}}</pre>
 {% endif %}
 
 {# Footer #}





More information about the llvm-commits mailing list