mercurial/hgweb/webutil.py
changeset 37513 40a7c1dd2df9
parent 37511 356e61e82c2a
child 37514 034a422aeaff
equal deleted inserted replaced
37512:aac97d043e6d 37513:40a7c1dd2df9
    46 archivespecs = util.sortdict((
    46 archivespecs = util.sortdict((
    47     ('zip', ('application/zip', 'zip', '.zip', None)),
    47     ('zip', ('application/zip', 'zip', '.zip', None)),
    48     ('gz', ('application/x-gzip', 'tgz', '.tar.gz', None)),
    48     ('gz', ('application/x-gzip', 'tgz', '.tar.gz', None)),
    49     ('bz2', ('application/x-bzip2', 'tbz2', '.tar.bz2', None)),
    49     ('bz2', ('application/x-bzip2', 'tbz2', '.tar.bz2', None)),
    50 ))
    50 ))
       
    51 
       
    52 def archivelist(ui, nodeid, url):
       
    53     allowed = ui.configlist('web', 'allow_archive', untrusted=True)
       
    54     archives = []
       
    55 
       
    56     for typ, spec in archivespecs.iteritems():
       
    57         if typ in allowed or ui.configbool('web', 'allow' + typ,
       
    58                                            untrusted=True):
       
    59             archives.append({
       
    60                 'type': typ,
       
    61                 'extension': spec[2],
       
    62                 'node': nodeid,
       
    63                 'url': url,
       
    64             })
       
    65 
       
    66     return archives
    51 
    67 
    52 def up(p):
    68 def up(p):
    53     if p[0:1] != "/":
    69     if p[0:1] != "/":
    54         p = "/" + p
    70         p = "/" + p
    55     if p[-1:] == "/":
    71     if p[-1:] == "/":