src/templates/build-bugs.html \
src/templates/build-delete.html \
src/templates/build-filter.html \
- src/templates/build-index.html \
src/templates/build-list.html \
src/templates/build-manage.html \
src/templates/build-priority.html \
dist_templates_builds_DATA = \
src/templates/builds/comments.html \
+ src/templates/builds/index.html \
src/templates/builds/show.html
templates_buildsdir = $(templatesdir)/builds
for row in res:
yield Build(self.backend, row.id, data=row)
- def __iter__(self):
- builds = self._get_builds("SELECT * FROM builds ORDER BY time_created DESC")
-
- return iter(builds)
-
def get_by_id(self, id, data=None):
return Build(self.backend, id, data=data)
name,
)
+ def get_recent(self, limit=None):
+ """
+ Returns the most recent builds
+ """
+ builds = self._get_builds("""
+ SELECT
+ *
+ FROM
+ builds
+ ORDER BY
+ time_created DESC
+ LIMIT %s""",
+ limit,
+ )
+
+ return list(builds)
+
def get_obsolete(self, repo=None):
"""
Get all obsoleted builds.
-{% extends "base.html" %}
+{% extends "../base.html" %}
{% block title %}{{ _("Builds") }}{% end block %}
(r"/file/([\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})", FileDetailHandler),
# Builds
- (r"/builds", builds.BuildsHandler),
+ (r"/builds", builds.IndexHandler),
(r"/builds/comments", builds.BuildsCommentsHandler),
(r"/builds/comments/(\w+)", builds.BuildsCommentsHandler),
(r"/builds/([\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})", builds.ShowHandler),
from . import base
-class BuildsHandler(base.BaseHandler):
- def get(self):
- limit = self.get_argument("limit", None)
- try:
- limit = int(limit)
- except (TypeError, ValueError):
- limit = 25
-
- builds = []
- for build in self.backend.builds:
- builds.append(build)
-
- limit -= 1
- if not limit:
- break
-
- self.render("build-index.html", builds=builds)
-
class BuildBaseHandler(base.BaseHandler):
def get_build(self, uuid):
return build
+class IndexHandler(base.BaseHandler):
+ def get(self):
+ # Fetch the most recent builds
+ builds = self.backend.builds.get_recent(limit=25)
+
+ self.render("builds/index.html", builds=builds)
+
+
class ShowHandler(BuildBaseHandler):
def get(self, uuid):
build = self.backend.builds.get_by_uuid(uuid)