[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