comparison mercurial/hgweb/hgweb_mod.py @ 3276:db9d2a624521

hgweb: Search templates in templatepath/style/map, too, using a common function. This allows for web templates to be self-contained in a directory, which makes copying and modifying them easier.
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 06 Oct 2006 18:28:50 +0200
parents e0cd1b98bf8d
children 98ec107ce723
comparison
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,