From 867aa94eb6c414512801b14f5931dc27d51cd3d4 Mon Sep 17 00:00:00 2001 From: Andrew Gerrand Date: Wed, 31 Mar 2010 17:01:16 +1100 Subject: godashboard: new stylesheet, build status pagination R=rsc, gri, r CC=golang-dev http://codereview.appspot.com/822044 --- misc/dashboard/godashboard/gobuild.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'misc/dashboard/godashboard/gobuild.py') diff --git a/misc/dashboard/godashboard/gobuild.py b/misc/dashboard/godashboard/gobuild.py index dcae7c8ad..2dfba433b 100644 --- a/misc/dashboard/godashboard/gobuild.py +++ b/misc/dashboard/godashboard/gobuild.py @@ -122,9 +122,25 @@ class MainPage(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/html; charset=utf-8' + try: + page = int(self.request.get('p', 1)) + if not page > 0: + raise + except: + page = 1 + + try: + num = int(self.request.get('n', N)) + if num <= 0 or num > 200: + raise + except: + num = N + + offset = (page-1) * num + q = Commit.all() q.order('-__key__') - results = q.fetch(N) + results = q.fetch(num, offset) revs = [toRev(r) for r in results] builders = {} @@ -144,6 +160,11 @@ class MainPage(webapp.RequestHandler): builders.sort() values = {"revs": revs, "builders": [v for k,v in builders]} + values['num'] = num + values['prev'] = page - 1 + if len(results) == num: + values['next'] = page + 1 + path = os.path.join(os.path.dirname(__file__), 'main.html') self.response.out.write(template.render(path, values)) -- cgit v1.2.3