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 @@ -132,6 +132,22 @@ return False +def archivelist(ui, nodeid, url): + allowed = ui.configlist('web', 'allow_archive', untrusted=True) + archives = [] + + for typ, spec in hgweb_mod.archivespecs.iteritems(): + if typ in allowed or ui.configbool('web', 'allow' + typ, + untrusted=True): + archives.append({ + 'type': typ, + 'extension': spec[2], + 'node': nodeid, + 'url': url, + }) + + return archives + class hgwebdir(object): """HTTP server for multiple repositories. @@ -331,16 +347,6 @@ def makeindex(self, wsgireq, tmpl, subdir=""): req = wsgireq.req - def archivelist(ui, nodeid, url): - allowed = ui.configlist("web", "allow_archive", untrusted=True) - archives = [] - for typ, spec in hgweb_mod.archivespecs.iteritems(): - if typ in allowed or ui.configbool("web", "allow" + typ, - untrusted=True): - archives.append({"type": typ, "extension": spec[2], - "node": nodeid, "url": url}) - return archives - def rawentries(subdir="", **map): descend = self.ui.configbool('web', 'descend')