mercurial/hgweb/webcommands.py
branchstable
changeset 13597 38c9837b1f75
parent 13596 270f57d35525
child 13794 5c18a0bca26f
equal deleted inserted replaced
13596:270f57d35525 13597:38c9837b1f75
    19 # __all__ is populated with the allowed commands. Be sure to add to it if
    19 # __all__ is populated with the allowed commands. Be sure to add to it if
    20 # you're adding a new command, or the new command won't work.
    20 # you're adding a new command, or the new command won't work.
    21 
    21 
    22 __all__ = [
    22 __all__ = [
    23    'log', 'rawfile', 'file', 'changelog', 'shortlog', 'changeset', 'rev',
    23    'log', 'rawfile', 'file', 'changelog', 'shortlog', 'changeset', 'rev',
    24    'manifest', 'tags', 'branches', 'summary', 'filediff', 'diff', 'annotate',
    24    'manifest', 'tags', 'bookmarks', 'branches', 'summary', 'filediff', 'diff',
    25    'filelog', 'archive', 'static', 'graph', 'help',
    25    'annotate', 'filelog', 'archive', 'static', 'graph', 'help',
    26 ]
    26 ]
    27 
    27 
    28 def log(web, req, tmpl):
    28 def log(web, req, tmpl):
    29     if 'file' in req.form and req.form['file'][0]:
    29     if 'file' in req.form and req.form['file'][0]:
    30         return filelog(web, req, tmpl)
    30         return filelog(web, req, tmpl)
   387                 node=hex(web.repo.changelog.tip()),
   387                 node=hex(web.repo.changelog.tip()),
   388                 entries=lambda **x: entries(False, 0, **x),
   388                 entries=lambda **x: entries(False, 0, **x),
   389                 entriesnotip=lambda **x: entries(True, 0, **x),
   389                 entriesnotip=lambda **x: entries(True, 0, **x),
   390                 latestentry=lambda **x: entries(True, 1, **x))
   390                 latestentry=lambda **x: entries(True, 1, **x))
   391 
   391 
       
   392 def bookmarks(web, req, tmpl):
       
   393     i = web.repo._bookmarks.items()
       
   394     i.reverse()
       
   395     parity = paritygen(web.stripecount)
       
   396 
       
   397     def entries(notip=False, limit=0, **map):
       
   398         count = 0
       
   399         for k, n in i:
       
   400             if notip and k == "tip":
       
   401                 continue
       
   402             if limit > 0 and count >= limit:
       
   403                 continue
       
   404             count = count + 1
       
   405             yield {"parity": parity.next(),
       
   406                    "bookmark": k,
       
   407                    "date": web.repo[n].date(),
       
   408                    "node": hex(n)}
       
   409 
       
   410     return tmpl("bookmarks",
       
   411                 node=hex(web.repo.changelog.tip()),
       
   412                 entries=lambda **x: entries(False, 0, **x),
       
   413                 entriesnotip=lambda **x: entries(True, 0, **x),
       
   414                 latestentry=lambda **x: entries(True, 1, **x))
       
   415 
   392 def branches(web, req, tmpl):
   416 def branches(web, req, tmpl):
   393     tips = (web.repo[n] for t, n in web.repo.branchtags().iteritems())
   417     tips = (web.repo[n] for t, n in web.repo.branchtags().iteritems())
   394     heads = web.repo.heads()
   418     heads = web.repo.heads()
   395     parity = paritygen(web.stripecount)
   419     parity = paritygen(web.stripecount)
   396     sortkey = lambda ctx: ('close' not in ctx.extra(), ctx.rev())
   420     sortkey = lambda ctx: ('close' not in ctx.extra(), ctx.rev())
   724         desc = templatefilters.firstline(ctx.description())
   748         desc = templatefilters.firstline(ctx.description())
   725         desc = cgi.escape(templatefilters.nonempty(desc))
   749         desc = cgi.escape(templatefilters.nonempty(desc))
   726         user = cgi.escape(templatefilters.person(ctx.user()))
   750         user = cgi.escape(templatefilters.person(ctx.user()))
   727         branch = ctx.branch()
   751         branch = ctx.branch()
   728         branch = branch, web.repo.branchtags().get(branch) == ctx.node()
   752         branch = branch, web.repo.branchtags().get(branch) == ctx.node()
   729         data.append((node, vtx, edges, desc, user, age, branch, ctx.tags(), ctx.bookmarks()))
   753         data.append((node, vtx, edges, desc, user, age, branch, ctx.tags(),
       
   754                      ctx.bookmarks()))
   730 
   755 
   731     return tmpl('graph', rev=rev, revcount=revcount, uprev=uprev,
   756     return tmpl('graph', rev=rev, revcount=revcount, uprev=uprev,
   732                 lessvars=lessvars, morevars=morevars, downrev=downrev,
   757                 lessvars=lessvars, morevars=morevars, downrev=downrev,
   733                 canvasheight=canvasheight, jsdata=data, bg_height=bg_height,
   758                 canvasheight=canvasheight, jsdata=data, bg_height=bg_height,
   734                 node=revnode_hex, changenav=changenav)
   759                 node=revnode_hex, changenav=changenav)