##// 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:

r137:cf32c4cc default
r160:0f7f93df default
Show More
graph.py
64 lines | 2.3 KiB | text/x-python | PythonLexer
fixed graph when repository is empty moved imports to top and removed some lfet over prints
r137 import logging
some fixes in graph tab. Little fixes in files
r106 from pylons import request, response, session, tmpl_context as c, url, config, \
app_globals as g
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
added empty controllers for branches tags files graph, routing and test for them
r93
fixed graph when repository is empty moved imports to top and removed some lfet over prints
r137 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
from webhelpers.paginate import Page
added empty controllers for branches tags files graph, routing and test for them
r93
log = logging.getLogger(__name__)
class GraphController(BaseController):
some fixes in graph tab. Little fixes in files
r106 def __before__(self):
c.repos_prefix = config['repos_name']
c.repo_name = get_repo_slug(request)
added empty controllers for branches tags files graph, routing and test for them
r93 def index(self):
# Return a rendered template
some fixes in graph tab. Little fixes in files
r106 hg_model = HgModel()
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('/graph.html')
def graph(self, repo, size):
revcount = size
p = int(request.params.get('page', 1))
c.pagination = Page(repo.revisions, page=p, item_count=len(repo.revisions), items_per_page=revcount)
fixed graph when repository is empty moved imports to top and removed some lfet over prints
r137 if not repo.revisions:return dumps([]), 0
some fixes in graph tab. Little fixes in files
r106 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