annotate pylons_app/controllers/shortlog.py @ 83:db39d0ca5308

implemented Shortlog as seperate controller, filters rewrite. Little html fixes
author Marcin Kuzminski <marcin@python-blog.com>
date Sun, 18 Apr 2010 11:23:10 +0200
parents
children e47d1db5ef20
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
83
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
1 import logging
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
2
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
3 from pylons import tmpl_context as c, app_globals as g, session, request, config, url
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
4 from pylons.controllers.util import abort, redirect
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
5
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
6 from pylons_app.lib.base import BaseController, render
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
7 from pylons_app.lib.utils import get_repo_slug
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
8 from pylons_app.model.hg_model import HgModel
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
9 from webhelpers.paginate import Page
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
10 log = logging.getLogger(__name__)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
11
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
12 class ShortlogController(BaseController):
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
13 def __before__(self):
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
14 c.repos_prefix = config['repos_name']
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
15 c.staticurl = g.statics
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
16 c.repo_name = get_repo_slug(request)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
17
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
18
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
19 def index(self):
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
20 hg_model = HgModel()
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
21 lim = 20
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
22 p = int(request.params.get('page', 1))
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
23 repo = hg_model.get_repo(c.repo_name)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
24 cnt = repo.revisions[-1]
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
25 gen = repo.get_changesets(None)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
26 repo_changesets = list(gen)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
27 repo_changesets2 = list(gen)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
28 repo_changesets3 = list(gen)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
29 repo_changesets4 = list(gen)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
30
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
31 c.repo_changesets = Page(repo_changesets, page=p, item_count=cnt, items_per_page=lim)
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
32 c.shortlog_data = render('shortlog_data.html')
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
33 if request.params.get('partial'):
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
34 return c.shortlog_data
db39d0ca5308 implemented Shortlog as seperate controller,
Marcin Kuzminski <marcin@python-blog.com>
parents:
diff changeset
35 return render('/shortlog.html')