Mercurial > public > mercurial-scm > hg-stable
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, |