comparison rhodecode/controllers/changelog.py @ 608:101e07f82f22

fixes #37 python import on json
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 12 Oct 2010 13:03:14 +0200
parents 1e757ac98988
children 79457e03ef68
comparison
equal deleted inserted replaced
591:1e2adb37cab6 608:101e07f82f22
20 """ 20 """
21 Created on April 21, 2010 21 Created on April 21, 2010
22 changelog controller for pylons 22 changelog controller for pylons
23 @author: marcink 23 @author: marcink
24 """ 24 """
25 from json import dumps 25 try:
26 import json
27 except ImportError:
28 #python 2.5 compatibility
29 import simplejson as json
26 from mercurial.graphmod import colored, CHANGESET, revisions as graph_rev 30 from mercurial.graphmod import colored, CHANGESET, revisions as graph_rev
27 from pylons import request, session, tmpl_context as c 31 from pylons import request, session, tmpl_context as c
28 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator 32 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
29 from rhodecode.lib.base import BaseController, render 33 from rhodecode.lib.base import BaseController, render
30 from rhodecode.model.hg_model import HgModel 34 from rhodecode.model.hg_model import HgModel
67 return render('changelog/changelog.html') 71 return render('changelog/changelog.html')
68 72
69 73
70 def _graph(self, repo, size, p): 74 def _graph(self, repo, size, p):
71 revcount = size 75 revcount = size
72 if not repo.revisions:return dumps([]), 0 76 if not repo.revisions:return json.dumps([]), 0
73 77
74 max_rev = repo.revisions[-1] 78 max_rev = repo.revisions[-1]
75 offset = 1 if p == 1 else ((p - 1) * revcount + 1) 79 offset = 1 if p == 1 else ((p - 1) * revcount + 1)
76 rev_start = repo.revisions[(-1 * offset)] 80 rev_start = repo.revisions[(-1 * offset)]
77 81
84 for (id, type, ctx, vtx, edges) in tree: 88 for (id, type, ctx, vtx, edges) in tree:
85 if type != CHANGESET: 89 if type != CHANGESET:
86 continue 90 continue
87 data.append(('', vtx, edges)) 91 data.append(('', vtx, edges))
88 92
89 c.jsdata = dumps(data) 93 c.jsdata = json.dumps(data)
90 94