Patchwork D2815: hgweb: extract entries() to standalone function

login
register
mail settings
Submitter phabricator
Date March 12, 2018, 9:38 p.m.
Message ID <121d5f2505eb3c9bb4cce8aa151759ab@localhost.localdomain>
Download mbox | patch
Permalink /patch/29389/
State Not Applicable
Headers show

Comments

phabricator - March 12, 2018, 9:38 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG455918512ed2: hgweb: extract entries() to standalone function (authored by indygreg, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D2815?vs=6881&id=6945

REVISION DETAIL
  https://phab.mercurial-scm.org/D2815

AFFECTED FILES
  mercurial/hgweb/hgwebdir_mod.py

CHANGE DETAILS




To: indygreg, #hg-reviewers, durin42
Cc: mercurial-devel

Patch

diff --git a/mercurial/hgweb/hgwebdir_mod.py b/mercurial/hgweb/hgwebdir_mod.py
--- a/mercurial/hgweb/hgwebdir_mod.py
+++ b/mercurial/hgweb/hgwebdir_mod.py
@@ -273,6 +273,22 @@ 
 
         yield row
 
+def indexentries(ui, repos, wsgireq, req, stripecount, sortcolumn='',
+                 descending=False, subdir='', **map):
+
+    rows = rawindexentries(ui, repos, wsgireq, req, subdir=subdir, **map)
+
+    sortdefault = None, False
+
+    if sortcolumn and sortdefault != (sortcolumn, descending):
+        sortkey = '%s_sort' % sortcolumn
+        rows = sorted(rows, key=lambda x: x[sortkey],
+                      reverse=descending)
+
+    for row, parity in zip(rows, paritygen(stripecount)):
+        row['parity'] = parity
+        yield row
+
 class hgwebdir(object):
     """HTTP server for multiple repositories.
 
@@ -472,22 +488,9 @@ 
     def makeindex(self, wsgireq, tmpl, subdir=""):
         req = wsgireq.req
 
-        sortdefault = None, False
-        def entries(sortcolumn="", descending=False, subdir="", **map):
-            rows = rawindexentries(self.ui, self.repos, wsgireq, req,
-                                   subdir=subdir, **map)
-
-            if sortcolumn and sortdefault != (sortcolumn, descending):
-                sortkey = '%s_sort' % sortcolumn
-                rows = sorted(rows, key=lambda x: x[sortkey],
-                              reverse=descending)
-            for row, parity in zip(rows, paritygen(self.stripecount)):
-                row['parity'] = parity
-                yield row
-
         self.refresh()
         sortable = ["name", "description", "contact", "lastchange"]
-        sortcolumn, descending = sortdefault
+        sortcolumn, descending = None, False
         if 'sort' in req.qsparams:
             sortcolumn = req.qsparams['sort']
             descending = sortcolumn.startswith('-')
@@ -504,6 +507,10 @@ 
         self.refresh()
         self.updatereqenv(wsgireq.env)
 
+        entries = indexentries(self.ui, self.repos, wsgireq, req,
+                               self.stripecount, sortcolumn=sortcolumn,
+                               descending=descending, subdir=subdir)
+
         return tmpl("index", entries=entries, subdir=subdir,
                     pathdef=hgweb_mod.makebreadcrumb('/' + subdir, self.prefix),
                     sortcolumn=sortcolumn, descending=descending,