##// END OF EJS Templates
implemented rawdiff and diff download into diff view....
implemented rawdiff and diff download into diff view. Few css changes

File last commit:

r142:f7218849 default
r160:0f7f93df default
Show More
changelog.py
65 lines | 2.3 KiB | text/x-python | PythonLexer
added empty controllers for branches tags files graph, routing and test for them
r93 import logging
Changeg graph to changelog, and changelog to shortlog
r142 from pylons import request, response, session, tmpl_context as c, url, config, \
app_globals as g
added empty controllers for branches tags files graph, routing and test for them
r93 from pylons.controllers.util import abort, redirect
from pylons_app.lib.base import BaseController, render
from pylons_app.lib.utils import get_repo_slug
from pylons_app.model.hg_model import HgModel
Changeg graph to changelog, and changelog to shortlog
r142
from mercurial.graphmod import revisions as graph_rev, colored, CHANGESET
from pylons_app.lib.filters import age as _age, person
from simplejson import dumps
from mercurial.node import short
added empty controllers for branches tags files graph, routing and test for them
r93 from webhelpers.paginate import Page
Changeg graph to changelog, and changelog to shortlog
r142
added empty controllers for branches tags files graph, routing and test for them
r93
log = logging.getLogger(__name__)
class ChangelogController(BaseController):
def __before__(self):
c.repos_prefix = config['repos_name']
c.repo_name = get_repo_slug(request)
def index(self):
Changeg graph to changelog, and changelog to shortlog
r142 # Return a rendered template
added empty controllers for branches tags files graph, routing and test for them
r93 hg_model = HgModel()
Changeg graph to changelog, and changelog to shortlog
r142 if request.POST.get('size'):
c.size = int(request.params.get('size', 20))
else:
c.size = int(request.params.get('size', 20))
c.jsdata, c.canvasheight = self.graph(hg_model.get_repo(c.repo_name), c.size)
return render('changelog/changelog.html')
def graph(self, repo, size):
revcount = size
added empty controllers for branches tags files graph, routing and test for them
r93 p = int(request.params.get('page', 1))
Changeg graph to changelog, and changelog to shortlog
r142 c.pagination = Page(repo.revisions, page=p, item_count=len(repo.revisions), items_per_page=revcount)
if not repo.revisions:return dumps([]), 0
max_rev = repo.revisions[-1]
offset = 1 if p == 1 else ((p - 1) * revcount)
rev_start = repo.revisions[(-1 * offset)]
bg_height = 39
revcount = min(max_rev, revcount)
rev_end = max(0, rev_start - revcount)
dag = graph_rev(repo.repo, rev_start, rev_end)
tree = list(colored(dag))
canvasheight = (len(tree) + 1) * bg_height - 27
data = []
for (id, type, ctx, vtx, edges) in tree:
if type != CHANGESET:
continue
node = short(ctx.node())
age = _age(ctx.date())
desc = ctx.description()
user = person(ctx.user())
branch = ctx.branch()
branch = branch, repo.repo.branchtags().get(branch) == ctx.node()
data.append((node, vtx, edges, desc, user, age, branch, ctx.tags()))
return dumps(data), canvasheight