##// END OF EJS Templates
hgweb: extract entries() to standalone function...
Gregory Szorc -
r36909:45591851 default
parent child Browse files
Show More
@@ -273,6 +273,22 b' def rawindexentries(ui, repos, wsgireq, '
273
273
274 yield row
274 yield row
275
275
276 def indexentries(ui, repos, wsgireq, req, stripecount, sortcolumn='',
277 descending=False, subdir='', **map):
278
279 rows = rawindexentries(ui, repos, wsgireq, req, subdir=subdir, **map)
280
281 sortdefault = None, False
282
283 if sortcolumn and sortdefault != (sortcolumn, descending):
284 sortkey = '%s_sort' % sortcolumn
285 rows = sorted(rows, key=lambda x: x[sortkey],
286 reverse=descending)
287
288 for row, parity in zip(rows, paritygen(stripecount)):
289 row['parity'] = parity
290 yield row
291
276 class hgwebdir(object):
292 class hgwebdir(object):
277 """HTTP server for multiple repositories.
293 """HTTP server for multiple repositories.
278
294
@@ -472,22 +488,9 b' class hgwebdir(object):'
472 def makeindex(self, wsgireq, tmpl, subdir=""):
488 def makeindex(self, wsgireq, tmpl, subdir=""):
473 req = wsgireq.req
489 req = wsgireq.req
474
490
475 sortdefault = None, False
476 def entries(sortcolumn="", descending=False, subdir="", **map):
477 rows = rawindexentries(self.ui, self.repos, wsgireq, req,
478 subdir=subdir, **map)
479
480 if sortcolumn and sortdefault != (sortcolumn, descending):
481 sortkey = '%s_sort' % sortcolumn
482 rows = sorted(rows, key=lambda x: x[sortkey],
483 reverse=descending)
484 for row, parity in zip(rows, paritygen(self.stripecount)):
485 row['parity'] = parity
486 yield row
487
488 self.refresh()
491 self.refresh()
489 sortable = ["name", "description", "contact", "lastchange"]
492 sortable = ["name", "description", "contact", "lastchange"]
490 sortcolumn, descending = sortdefault
493 sortcolumn, descending = None, False
491 if 'sort' in req.qsparams:
494 if 'sort' in req.qsparams:
492 sortcolumn = req.qsparams['sort']
495 sortcolumn = req.qsparams['sort']
493 descending = sortcolumn.startswith('-')
496 descending = sortcolumn.startswith('-')
@@ -504,6 +507,10 b' class hgwebdir(object):'
504 self.refresh()
507 self.refresh()
505 self.updatereqenv(wsgireq.env)
508 self.updatereqenv(wsgireq.env)
506
509
510 entries = indexentries(self.ui, self.repos, wsgireq, req,
511 self.stripecount, sortcolumn=sortcolumn,
512 descending=descending, subdir=subdir)
513
507 return tmpl("index", entries=entries, subdir=subdir,
514 return tmpl("index", entries=entries, subdir=subdir,
508 pathdef=hgweb_mod.makebreadcrumb('/' + subdir, self.prefix),
515 pathdef=hgweb_mod.makebreadcrumb('/' + subdir, self.prefix),
509 sortcolumn=sortcolumn, descending=descending,
516 sortcolumn=sortcolumn, descending=descending,
General Comments 0
You need to be logged in to leave comments. Login now