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, |