comparison mercurial/hgweb/hgwebdir_mod.py @ 30749:e38e7ea21987

hgweb: use archivespecs for links on repo index page too Moving archivespecs to the module level allows using it from other modules (such as hgwebdir_mod), and keeping a reference to it in requestcontext allows current code to just work.
author Anton Shestakov <av6@dwimlabs.net>
date Tue, 10 Jan 2017 23:41:58 +0800
parents f1c9fafcbf46
children d7bf7d2bd5ab
comparison
equal deleted inserted replaced
30748:319914d57b9e 30749:e38e7ea21987
295 def makeindex(self, req, tmpl, subdir=""): 295 def makeindex(self, req, tmpl, subdir=""):
296 296
297 def archivelist(ui, nodeid, url): 297 def archivelist(ui, nodeid, url):
298 allowed = ui.configlist("web", "allow_archive", untrusted=True) 298 allowed = ui.configlist("web", "allow_archive", untrusted=True)
299 archives = [] 299 archives = []
300 for i in [('zip', '.zip'), ('gz', '.tar.gz'), ('bz2', '.tar.bz2')]: 300 for typ, spec in hgweb_mod.archivespecs.iteritems():
301 if i[0] in allowed or ui.configbool("web", "allow" + i[0], 301 if typ in allowed or ui.configbool("web", "allow" + typ,
302 untrusted=True): 302 untrusted=True):
303 archives.append({"type" : i[0], "extension": i[1], 303 archives.append({"type" : typ, "extension": spec[2],
304 "node": nodeid, "url": url}) 304 "node": nodeid, "url": url})
305 return archives 305 return archives
306 306
307 def rawentries(subdir="", **map): 307 def rawentries(subdir="", **map):
308 308