Show More
@@ -195,11 +195,8 b' class hgwebdir(object):' | |||
|
195 | 195 | yield {"type" : i[0], "extension": i[1], |
|
196 | 196 | "node": nodeid, "url": url} |
|
197 | 197 | |
|
198 | sortdefault = None, False | |
|
199 | def entries(sortcolumn="", descending=False, subdir="", **map): | |
|
198 | def rawentries(subdir="", **map): | |
|
200 | 199 | |
|
201 | rows = [] | |
|
202 | parity = paritygen(self.stripecount) | |
|
203 | 200 | descend = self.ui.configbool('web', 'descend', True) |
|
204 | 201 | for name, path in self.repos: |
|
205 | 202 | |
@@ -253,19 +250,19 b' class hgwebdir(object):' | |||
|
253 | 250 | lastchange=d, |
|
254 | 251 | lastchange_sort=d[1]-d[0], |
|
255 | 252 | archives=archivelist(u, "tip", url)) |
|
256 | if (not sortcolumn or (sortcolumn, descending) == sortdefault): | |
|
257 | # fast path for unsorted output | |
|
258 | row['parity'] = parity.next() | |
|
259 | yield row | |
|
260 | else: | |
|
261 | rows.append((row["%s_sort" % sortcolumn], row)) | |
|
262 | if rows: | |
|
263 | rows.sort() | |
|
264 | if descending: | |
|
265 |
|
|
|
266 | for key, row in rows: | |
|
267 |
|
|
|
268 |
|
|
|
253 | yield row | |
|
254 | ||
|
255 | sortdefault = None, False | |
|
256 | def entries(sortcolumn="", descending=False, subdir="", **map): | |
|
257 | rows = rawentries(subdir=subdir, **map) | |
|
258 | ||
|
259 | if sortcolumn and sortdefault != (sortcolumn, descending): | |
|
260 | sortkey = '%s_sort' % sortcolumn | |
|
261 | rows = sorted(rows, key=lambda x: x[sortkey], | |
|
262 | reverse=descending) | |
|
263 | for row, parity in zip(rows, paritygen(self.stripecount)): | |
|
264 | row['parity'] = parity | |
|
265 | yield row | |
|
269 | 266 | |
|
270 | 267 | self.refresh() |
|
271 | 268 | sortable = ["name", "description", "contact", "lastchange"] |
General Comments 0
You need to be logged in to leave comments.
Login now