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 = |
|
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