mercurial/hgweb/webcommands.py
changeset 35408 a48af4993aa0
parent 35407 27ab3150cd50
child 35409 f84b01257e06
equal deleted inserted replaced
35407:27ab3150cd50 35408:a48af4993aa0
  1229         dag = graphmod.dagwalker(web.repo, smartset.baseset(revs))
  1229         dag = graphmod.dagwalker(web.repo, smartset.baseset(revs))
  1230         # As we said one line above... not lazy.
  1230         # As we said one line above... not lazy.
  1231         tree = list(item for item in graphmod.colored(dag, web.repo)
  1231         tree = list(item for item in graphmod.colored(dag, web.repo)
  1232                     if item[1] == graphmod.CHANGESET)
  1232                     if item[1] == graphmod.CHANGESET)
  1233 
  1233 
  1234     def graphdata(usetuples):
  1234     def jsdata():
  1235         data = []
  1235         return [{'node': pycompat.bytestr(ctx),
  1236 
  1236                  'vertex': vtx,
  1237         row = 0
  1237                  'edges': edges}
  1238         for (id, type, ctx, vtx, edges) in tree:
  1238                 for (id, type, ctx, vtx, edges) in tree]
  1239             if usetuples:
  1239 
  1240                 node = pycompat.bytestr(ctx)
  1240     def nodes():
  1241                 data.append({'node': node, 'vertex': vtx, 'edges': edges})
  1241         for row, (id, type, ctx, vtx, edges) in enumerate(tree):
  1242             else:
  1242             entry = webutil.commonentry(web.repo, ctx)
  1243                 entry = webutil.commonentry(web.repo, ctx)
  1243             edgedata = [{'col': edge[0],
  1244                 edgedata = [{'col': edge[0], 'nextcol': edge[1],
  1244                          'nextcol': edge[1],
  1245                              'color': (edge[2] - 1) % 6 + 1,
  1245                          'color': (edge[2] - 1) % 6 + 1,
  1246                              'width': edge[3], 'bcolor': edge[4]}
  1246                          'width': edge[3],
  1247                             for edge in edges]
  1247                          'bcolor': edge[4]}
  1248 
  1248                         for edge in edges]
  1249                 entry.update(
  1249 
  1250                     {'col': vtx[0],
  1250             entry.update({'col': vtx[0],
  1251                      'color': (vtx[1] - 1) % 6 + 1,
  1251                           'color': (vtx[1] - 1) % 6 + 1,
  1252                      'edges': edgedata,
  1252                           'edges': edgedata,
  1253                      'row': row,
  1253                           'row': row,
  1254                      'nextrow': row + 1})
  1254                           'nextrow': row + 1})
  1255 
  1255 
  1256                 data.append(entry)
  1256             yield entry
  1257 
       
  1258             row += 1
       
  1259 
       
  1260         return data
       
  1261 
  1257 
  1262     rows = len(tree)
  1258     rows = len(tree)
  1263 
  1259 
  1264     return tmpl('graph', rev=rev, symrev=symrev, revcount=revcount,
  1260     return tmpl('graph', rev=rev, symrev=symrev, revcount=revcount,
  1265                 uprev=uprev,
  1261                 uprev=uprev,
  1266                 lessvars=lessvars, morevars=morevars, downrev=downrev,
  1262                 lessvars=lessvars, morevars=morevars, downrev=downrev,
  1267                 rows=rows,
  1263                 rows=rows,
  1268                 bg_height=bg_height,
  1264                 bg_height=bg_height,
  1269                 changesets=count,
  1265                 changesets=count,
  1270                 jsdata=lambda **x: graphdata(True),
  1266                 jsdata=lambda **x: jsdata(),
  1271                 nodes=lambda **x: graphdata(False),
  1267                 nodes=lambda **x: nodes(),
  1272                 node=ctx.hex(), changenav=changenav)
  1268                 node=ctx.hex(), changenav=changenav)
  1273 
  1269 
  1274 def _getdoc(e):
  1270 def _getdoc(e):
  1275     doc = e[0].__doc__
  1271     doc = e[0].__doc__
  1276     if doc:
  1272     if doc: