From 28cc8c8bbb8d424ea233c5a228675ebd8d225b40 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 21 Nov 2010 16:41:06 +0100 Subject: [PATCH] Support searching for builds by checksum. --- buildfarm/__init__.py | 5 +++-- buildfarm/data.py | 2 +- buildfarm/web/__init__.py | 10 +++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/buildfarm/__init__.py b/buildfarm/__init__.py index 28372bbc..d5a4aa42 100644 --- a/buildfarm/__init__.py +++ b/buildfarm/__init__.py @@ -131,9 +131,10 @@ class BuildFarm(object): ret = perc return perc - def get_build(self, tree, host, compiler, rev=None): + def get_build(self, tree, host, compiler, rev=None, checksum=None): if rev is not None: - return self.builds.get_build(tree, host, compiler, rev) + return self.builds.get_build(tree, host, compiler, rev, + checksum=checksum) else: return self.upload_builds.get_build(tree, host, compiler) diff --git a/buildfarm/data.py b/buildfarm/data.py index a551b81f..535515de 100644 --- a/buildfarm/data.py +++ b/buildfarm/data.py @@ -385,7 +385,7 @@ class BuildResultStore(object): else: return True - def get_build(self, tree, host, compiler, rev): + def get_build(self, tree, host, compiler, rev, checksum=None): basename = self.build_fname(tree, host, compiler, rev) logf = "%s.log" % basename if not os.path.exists(logf): diff --git a/buildfarm/web/__init__.py b/buildfarm/web/__init__.py index 6f2b2258..46461993 100755 --- a/buildfarm/web/__init__.py +++ b/buildfarm/web/__init__.py @@ -104,7 +104,15 @@ def html_build_status(status): def build_status_html(myself, build): - return "%s" % (myself, build.host, build.tree, build.compiler, build.revision, html_build_status(build.status()), build.log_checksum()) + params = { + "host": build.host, + "tree": build.tree, + "compiler": build.compiler, + "checksum": build.log_checksum() + } + if build.revision: + params["revision"] = build.revision + return "%s" % (myself, ";".join(["%s=%s" % k for k in params.iteritems()]), html_build_status(build.status())) def build_status_vals(status): -- 2.34.1