equal
deleted
inserted
replaced
6 # This software may be used and distributed according to the terms |
6 # This software may be used and distributed according to the terms |
7 # of the GNU General Public License, incorporated herein by reference. |
7 # of the GNU General Public License, incorporated herein by reference. |
8 |
8 |
9 import os |
9 import os |
10 from mercurial.demandload import demandload |
10 from mercurial.demandload import demandload |
11 demandload(globals(), "ConfigParser") |
11 demandload(globals(), "ConfigParser mimetools cStringIO") |
12 demandload(globals(), "mercurial:ui,hg,util,templater") |
12 demandload(globals(), "mercurial:ui,hg,util,templater") |
13 demandload(globals(), "mercurial.hgweb.hgweb_mod:hgweb") |
13 demandload(globals(), "mercurial.hgweb.hgweb_mod:hgweb") |
14 demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile") |
14 demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile") |
15 from mercurial.i18n import gettext as _ |
15 from mercurial.i18n import gettext as _ |
16 |
16 |
46 self.repos.append((name.lstrip(os.sep), repo)) |
46 self.repos.append((name.lstrip(os.sep), repo)) |
47 self.repos.sort() |
47 self.repos.sort() |
48 |
48 |
49 def run(self, req): |
49 def run(self, req): |
50 def header(**map): |
50 def header(**map): |
51 yield tmpl("header", **map) |
51 header_file = cStringIO.StringIO(''.join(tmpl("header", **map))) |
|
52 msg = mimetools.Message(header_file, 0) |
|
53 req.header(msg.items()) |
|
54 yield header_file.read() |
52 |
55 |
53 def footer(**map): |
56 def footer(**map): |
54 yield tmpl("footer", motd=self.motd, **map) |
57 yield tmpl("footer", motd=self.motd, **map) |
55 |
58 |
56 m = os.path.join(templater.templatepath(), "map") |
59 m = os.path.join(templater.templatepath(), "map") |
130 req.write(tmpl("notfound", repo=virtual)) |
133 req.write(tmpl("notfound", repo=virtual)) |
131 else: |
134 else: |
132 if req.form.has_key('static'): |
135 if req.form.has_key('static'): |
133 static = os.path.join(templater.templatepath(), "static") |
136 static = os.path.join(templater.templatepath(), "static") |
134 fname = req.form['static'][0] |
137 fname = req.form['static'][0] |
135 req.write(staticfile(static, fname) |
138 req.write(staticfile(static, fname, req) |
136 or tmpl("error", error="%r not found" % fname)) |
139 or tmpl("error", error="%r not found" % fname)) |
137 else: |
140 else: |
138 sortable = ["name", "description", "contact", "lastchange"] |
141 sortable = ["name", "description", "contact", "lastchange"] |
139 sortcolumn, descending = self.repos_sorted |
142 sortcolumn, descending = self.repos_sorted |
140 if req.form.has_key('sort'): |
143 if req.form.has_key('sort'): |