From: Michael Tremer Date: Sat, 29 Apr 2023 11:55:28 +0000 (+0000) Subject: log: Implement filtering by builder X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bff2ca64ed6d3e6f327fc25b9244101f52effadb;p=pbs.git log: Implement filtering by builder Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/events.py b/src/buildservice/events.py index 3fed363a..a4108c7e 100644 --- a/src/buildservice/events.py +++ b/src/buildservice/events.py @@ -416,7 +416,8 @@ class Events(base.Object): yield Event(self.backend, event) - def __call__(self, build=None, user=None, priority=None, offset=None, limit=None): + def __call__(self, priority=None, offset=None, limit=None, + build=None, builder=None, user=None): """ Returns all events filtered by the given criteria """ @@ -427,6 +428,11 @@ class Events(base.Object): conditions.append("events.build = %s") values.append(build) + # Filter by builder + if builder: + conditions.append("events.builder = %s") + values.append(builder) + # Filter by user if user: conditions.append("(events.user = %s OR events.by_user = %s)") diff --git a/src/templates/log.html b/src/templates/log.html index 9c50a1a6..76d42c1f 100644 --- a/src/templates/log.html +++ b/src/templates/log.html @@ -15,7 +15,8 @@

{{ _("Log") }}

- {% module EventsList(priority=priority, user=user, offset=offset, limit=limit) %} + {% module EventsList(priority=priority, offset=offset, limit=limit, + builder=builder, user=user) %}
diff --git a/src/web/base.py b/src/web/base.py index 19b63a9d..5b59d1c1 100644 --- a/src/web/base.py +++ b/src/web/base.py @@ -241,6 +241,12 @@ class BaseHandler(tornado.web.RequestHandler): except (TypeError, ValueError): raise tornado.web.HTTPError(400, "%s is not an integer" % arg) + def get_argument_builder(self, *args, **kwargs): + name = self.get_argument(*args, **kwargs) + + if name: + return self.backend.builders.get_by_name(name) + def get_argument_distro(self, *args, **kwargs): slug = self.get_argument(*args, **kwargs) diff --git a/src/web/handlers.py b/src/web/handlers.py index 930c1dee..8f869ccc 100644 --- a/src/web/handlers.py +++ b/src/web/handlers.py @@ -20,6 +20,7 @@ class LogHandler(base.BaseHandler): "priority" : self.get_argument_int("priority", None) or 5, # Filters + "builder" : self.get_argument_builder("builder", None), "user" : self.get_argument_user("user", None), }