diff options
author | Andrew Gerrand <adg@golang.org> | 2010-03-31 17:01:16 +1100 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2010-03-31 17:01:16 +1100 |
commit | 867aa94eb6c414512801b14f5931dc27d51cd3d4 (patch) | |
tree | d7b9a10e875b45f344da4652c497574d158e3b3e /misc/dashboard/godashboard/gobuild.py | |
parent | 12ae4e7f38eff90d232f37dd52041acff0dd0487 (diff) | |
download | golang-867aa94eb6c414512801b14f5931dc27d51cd3d4.tar.gz |
godashboard: new stylesheet, build status pagination
R=rsc, gri, r
CC=golang-dev
http://codereview.appspot.com/822044
Diffstat (limited to 'misc/dashboard/godashboard/gobuild.py')
-rw-r--r-- | misc/dashboard/godashboard/gobuild.py | 23 |
1 files changed, 22 insertions, 1 deletions
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)) |