diff 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
line wrap: on
line diff
--- a/mercurial/hgweb/hgwebdir_mod.py	Tue Jan 10 23:34:39 2017 +0800
+++ b/mercurial/hgweb/hgwebdir_mod.py	Tue Jan 10 23:41:58 2017 +0800
@@ -297,10 +297,10 @@
         def archivelist(ui, nodeid, url):
             allowed = ui.configlist("web", "allow_archive", untrusted=True)
             archives = []
-            for i in [('zip', '.zip'), ('gz', '.tar.gz'), ('bz2', '.tar.bz2')]:
-                if i[0] in allowed or ui.configbool("web", "allow" + i[0],
+            for typ, spec in hgweb_mod.archivespecs.iteritems():
+                if typ in allowed or ui.configbool("web", "allow" + typ,
                                                     untrusted=True):
-                    archives.append({"type" : i[0], "extension": i[1],
+                    archives.append({"type" : typ, "extension": spec[2],
                                      "node": nodeid, "url": url})
             return archives