mercurial/hgweb/hgweb_mod.py
changeset 3276 db9d2a624521
parent 3274 e0cd1b98bf8d
child 3304 98ec107ce723
equal deleted inserted replaced
3275:7ae37d99d47e 3276:db9d2a624521
    12 from mercurial.demandload import demandload
    12 from mercurial.demandload import demandload
    13 demandload(globals(), "re zlib ConfigParser mimetools cStringIO sys tempfile")
    13 demandload(globals(), "re zlib ConfigParser mimetools cStringIO sys tempfile")
    14 demandload(globals(), 'urllib')
    14 demandload(globals(), 'urllib')
    15 demandload(globals(), "mercurial:mdiff,ui,hg,util,archival,streamclone,patch")
    15 demandload(globals(), "mercurial:mdiff,ui,hg,util,archival,streamclone,patch")
    16 demandload(globals(), "mercurial:templater")
    16 demandload(globals(), "mercurial:templater")
    17 demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile")
    17 demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile,style_map")
    18 from mercurial.node import *
    18 from mercurial.node import *
    19 from mercurial.i18n import gettext as _
    19 from mercurial.i18n import gettext as _
    20 
    20 
    21 def _up(p):
    21 def _up(p):
    22     if p[0] != "/":
    22     if p[0] != "/":
   741         self.refresh()
   741         self.refresh()
   742 
   742 
   743         expand_form(req.form)
   743         expand_form(req.form)
   744         rewrite_request(req)
   744         rewrite_request(req)
   745 
   745 
   746         m = os.path.join(self.templatepath, "map")
       
   747         style = self.repo.ui.config("web", "style", "")
   746         style = self.repo.ui.config("web", "style", "")
   748         if req.form.has_key('style'):
   747         if req.form.has_key('style'):
   749             style = req.form['style'][0]
   748             style = req.form['style'][0]
   750         if style:
   749         mapfile = style_map(self.templatepath, style)
   751             b = os.path.basename("map-" + style)
       
   752             p = os.path.join(self.templatepath, b)
       
   753             if os.path.isfile(p):
       
   754                 m = p
       
   755 
   750 
   756         if not req.url:
   751         if not req.url:
   757             port = req.env["SERVER_PORT"]
   752             port = req.env["SERVER_PORT"]
   758             port = port != "80" and (":" + port) or ""
   753             port = port != "80" and (":" + port) or ""
   759             uri = req.env["REQUEST_URI"]
   754             uri = req.env["REQUEST_URI"]
   764         if not self.reponame:
   759         if not self.reponame:
   765             self.reponame = (self.repo.ui.config("web", "name")
   760             self.reponame = (self.repo.ui.config("web", "name")
   766                              or req.env.get('REPO_NAME')
   761                              or req.env.get('REPO_NAME')
   767                              or req.url.strip('/') or self.repo.root)
   762                              or req.url.strip('/') or self.repo.root)
   768 
   763 
   769         self.t = templater.templater(m, templater.common_filters,
   764         self.t = templater.templater(mapfile, templater.common_filters,
   770                                      defaults={"url": req.url,
   765                                      defaults={"url": req.url,
   771                                                "repo": self.reponame,
   766                                                "repo": self.reponame,
   772                                                "header": header,
   767                                                "header": header,
   773                                                "footer": footer,
   768                                                "footer": footer,
   774                                                "rawfileheader": rawfileheader,
   769                                                "rawfileheader": rawfileheader,