[SCM] build.samba.org - branch master updated

Jelmer Vernooij jelmer at samba.org
Fri Dec 3 19:04:28 MST 2010


The branch, master has been updated
       via  2671447 Allow /build/<checksum>
      from  c0080bd Note when generating subunit files.

http://gitweb.samba.org/?p=build-farm.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 2671447e90f2612f2c49c4923dc2e39073f46e61
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Dec 4 03:04:59 2010 +0100

    Allow /build/<checksum>

-----------------------------------------------------------------------

Summary of changes:
 buildfarm/web/__init__.py |   59 ++++++++++++++++++++++-----------------------
 1 files changed, 29 insertions(+), 30 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildfarm/web/__init__.py b/buildfarm/web/__init__.py
index bd66aa0..b4f1809 100755
--- a/buildfarm/web/__init__.py
+++ b/buildfarm/web/__init__.py
@@ -120,16 +120,7 @@ def html_build_status(status):
 
 
 def build_uri(myself, build):
-    params = {
-        "host": build.host,
-        "tree": build.tree,
-        "compiler": build.compiler,
-        "checksum": build.log_checksum(),
-        }
-    if build.revision:
-        params["revision"] = build.revision
-    return "%s?function=View+Build;%s" % (
-        myself, ";".join(["%s=%s" % k for k in params.iteritems()]))
+    return "%s/build/%s" % build.log_checksum()
 
 
 def build_link(myself, build):
@@ -405,20 +396,13 @@ class ViewBuildPage(BuildFarmPage):
 
         yield "</tbody></table>\n"
 
-    def render(self, myself, tree, host, compiler, rev, checksum=None,
-            plain_logs=False):
+    def render(self, myself, build, plain_logs=False):
         """view one build in detail"""
 
         uname = None
         cflags = None
         config = None
-        try:
-            build = self.buildfarm.get_build(tree, host, compiler, rev,
-                checksum=checksum)
-        except NoSuchBuildError:
-            yield "No such build: %s on %s with %s, rev %r, checksum %r" % (
-                tree, host, compiler, rev, checksum)
-            return
+
         try:
             f = build.read_log()
             try:
@@ -934,8 +918,16 @@ class BuildFarmApp(object):
                 plain_logs = (get_param(form, "plain") is not None and get_param(form, "plain").lower() in ("yes", "1", "on", "true", "y"))
                 revision = get_param(form, "revision")
                 checksum = get_param(form, "checksum")
-                page = ViewBuildPage(self.buildfarm)
-                yield "".join(page.render(myself, tree, host, compiler, revision, checksum, plain_logs))
+                try:
+                    build = self.buildfarm.get_build(tree, host,
+                        compiler, revision, checksum=checksum)
+                except NoSuchBuildError:
+                    yield "No such build: %s on %s with %s, rev %r, checksum %r" % (
+                        tree, host, compiler, revision, checksum)
+                else:
+                    page = ViewBuildPage(self.buildfarm)
+                    plain_logs = (get_param(form, "plain") is not None and get_param(form, "plain").lower() in ("yes", "1", "on", "true", "y"))
+                    yield "".join(page.render(myself, build, plain_logs))
             elif fn_name == "View_Host":
                 page = ViewHostPage(self.buildfarm)
                 yield "".join(page.render_html(myself, get_param(form, 'host')))
@@ -951,17 +943,24 @@ class BuildFarmApp(object):
                 revision = get_param(form, 'revision')
                 page = DiffPage(self.buildfarm)
                 yield "".join(page.render(myself, tree, revision))
-            elif os.getenv("PATH_INFO") not in (None, "", "/"):
-                paths = os.getenv("PATH_INFO").split('/')
-                if paths[1] == "recent":
+            else:
+                fn = wsgiref.util.shift_path_info(environ)
+                if fn == "recent":
                     page = ViewRecentBuildsPage(self.buildfarm)
-                    yield "".join(page.render(myself, paths[2], get_param(form, 'sortby') or 'age'))
-                elif paths[1] == "host":
+                    yield "".join(page.render(myself, wsgiref.util.shift_path_info(environ), get_param(form, 'sortby') or 'age'))
+                elif fn == "host":
                     page = ViewHostPage(self.buildfarm)
-                    yield "".join(page.render_html(myself, paths[2]))
-            else:
-                page = ViewSummaryPage(self.buildfarm)
-                yield "".join(page.render_html(myself))
+                    yield "".join(page.render_html(myself, wsgiref.util.shift_path_info(environ)))
+                elif fn == "build":
+                    build_checksum = wsgiref.util.shift_path_info(environ)
+                    build = self.buildfarm.get_by_checksum(build_checksum)
+                    page = ViewBuildPage(self.buildfarm)
+                    yield "".join(page.render(myself, build, plain_logs))
+                elif fn == "":
+                    page = ViewSummaryPage(self.buildfarm)
+                    yield "".join(page.render_html(myself))
+                else:
+                    yield "Unknown function %s" % fn
             yield util.FileLoad(os.path.join(webdir, "footer.html"))
             yield "</body>"
             yield "</html>"


-- 
build.samba.org


More information about the samba-cvs mailing list