diff mercurial/hgweb/webutil.py @ 37513:40a7c1dd2df9

hgweb: move archivelist() of hgwebdir to webutil
author Yuya Nishihara <yuya@tcha.org>
date Sun, 01 Apr 2018 22:37:03 +0900
parents 356e61e82c2a
children 034a422aeaff
line wrap: on
line diff
--- a/mercurial/hgweb/webutil.py	Sun Apr 01 22:33:55 2018 +0900
+++ b/mercurial/hgweb/webutil.py	Sun Apr 01 22:37:03 2018 +0900
@@ -49,6 +49,22 @@
     ('bz2', ('application/x-bzip2', 'tbz2', '.tar.bz2', None)),
 ))
 
+def archivelist(ui, nodeid, url):
+    allowed = ui.configlist('web', 'allow_archive', untrusted=True)
+    archives = []
+
+    for typ, spec in 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 up(p):
     if p[0:1] != "/":
         p = "/" + p