diff -r f22e3e8fd457 -r 419c42223bee mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py Tue Jun 27 09:30:50 2006 -0700 +++ b/mercurial/hgweb/hgwebdir_mod.py Tue Jun 27 09:33:12 2006 -0700 @@ -8,7 +8,7 @@ import os from mercurial.demandload import demandload -demandload(globals(), "ConfigParser") +demandload(globals(), "ConfigParser mimetools cStringIO") demandload(globals(), "mercurial:ui,hg,util,templater") demandload(globals(), "mercurial.hgweb.hgweb_mod:hgweb") demandload(globals(), "mercurial.hgweb.common:get_mtime,staticfile") @@ -48,7 +48,10 @@ def run(self, req): def header(**map): - yield tmpl("header", **map) + header_file = cStringIO.StringIO(''.join(tmpl("header", **map))) + msg = mimetools.Message(header_file, 0) + req.header(msg.items()) + yield header_file.read() def footer(**map): yield tmpl("footer", motd=self.motd, **map) @@ -132,7 +135,7 @@ if req.form.has_key('static'): static = os.path.join(templater.templatepath(), "static") fname = req.form['static'][0] - req.write(staticfile(static, fname) + req.write(staticfile(static, fname, req) or tmpl("error", error="%r not found" % fname)) else: sortable = ["name", "description", "contact", "lastchange"]