mercurial/hgweb.py
changeset 2171 290534ee163c
parent 2170 29eeb2717915
child 2173 d1943df604c4
equal deleted inserted replaced
2170:29eeb2717915 2171:290534ee163c
   123             self.allowpull = self.repo.ui.configbool("web", "allowpull", True)
   123             self.allowpull = self.repo.ui.configbool("web", "allowpull", True)
   124 
   124 
   125     def archivelist(self, nodeid):
   125     def archivelist(self, nodeid):
   126         for i in self.archives:
   126         for i in self.archives:
   127             if self.repo.ui.configbool("web", "allow" + i, False):
   127             if self.repo.ui.configbool("web", "allow" + i, False):
   128                 yield {"type" : i, "node" : nodeid}
   128                 yield {"type" : i, "node" : nodeid, "url": ""}
   129 
   129 
   130     def listfiles(self, files, mf):
   130     def listfiles(self, files, mf):
   131         for f in files[:self.maxfiles]:
   131         for f in files[:self.maxfiles]:
   132             yield self.t("filenodelink", node=hex(mf[f]), file=f)
   132             yield self.t("filenodelink", node=hex(mf[f]), file=f)
   133         if len(files) > self.maxfiles:
   133         if len(files) > self.maxfiles:
  1043         m = os.path.join(templater.templatepath(), "map")
  1043         m = os.path.join(templater.templatepath(), "map")
  1044         tmpl = templater.templater(m, templater.common_filters,
  1044         tmpl = templater.templater(m, templater.common_filters,
  1045                                    defaults={"header": header,
  1045                                    defaults={"header": header,
  1046                                              "footer": footer})
  1046                                              "footer": footer})
  1047 
  1047 
       
  1048         def archivelist(ui, nodeid, url):
       
  1049             for i in ['zip', 'gz', 'bz2']:
       
  1050                 if ui.configbool("web", "allow" + i, False):
       
  1051                     yield {"type" : i, "node": nodeid, "url": url}
       
  1052 
  1048         def entries(**map):
  1053         def entries(**map):
  1049             parity = 0
  1054             parity = 0
  1050             for name, path in self.repos:
  1055             for name, path in self.repos:
  1051                 u = ui.ui()
  1056                 u = ui.ui()
  1052                 try:
  1057                 try:
  1069                                     get("web", "author", "unknown")), # also
  1074                                     get("web", "author", "unknown")), # also
  1070                            name=get("web", "name", name),
  1075                            name=get("web", "name", name),
  1071                            url=url,
  1076                            url=url,
  1072                            parity=parity,
  1077                            parity=parity,
  1073                            shortdesc=get("web", "description", "unknown"),
  1078                            shortdesc=get("web", "description", "unknown"),
  1074                            lastupdate=d)
  1079                            lastupdate=d,
       
  1080                            archives=archivelist(u, "tip", url))
  1075 
  1081 
  1076                 parity = 1 - parity
  1082                 parity = 1 - parity
  1077 
  1083 
  1078         virtual = req.env.get("PATH_INFO", "").strip('/')
  1084         virtual = req.env.get("PATH_INFO", "").strip('/')
  1079         if virtual:
  1085         if virtual: