Enable to select encoding in hgrc web section
authorOHASHI Hideya <ohachige at gmail.com>
Wed, 13 Jun 2007 18:18:06 +0900
changeset 4690 ecea4de3104e
parent 4689 54a2b94a372c
child 4691 ca4971347e0a
Enable to select encoding in hgrc web section This patch provides character encoding setting in each repository. After this patch, You can use multi encoding repositories with one mercurial server.
doc/hgrc.5.txt
mercurial/hgweb/hgweb_mod.py
--- a/doc/hgrc.5.txt
+++ b/doc/hgrc.5.txt
@@ -551,6 +551,9 @@ web::
     Which template map style to use.
   templates;;
     Where to find the HTML templates. Default is install path.
+  encoding;;
+    Character encoding name.
+    Example: "UTF-8"
 
 
 AUTHOR
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -103,6 +103,7 @@ class hgweb(object):
             self.maxshortchanges = int(self.config("web", "maxshortchanges", 60))
             self.maxfiles = int(self.config("web", "maxfiles", 10))
             self.allowpull = self.configbool("web", "allowpull", True)
+            self.encoding = self.config("web", "encoding", util._encoding)
 
     def archivelist(self, nodeid):
         allowed = self.configlist("web", "allow_archive")
@@ -655,7 +656,7 @@ class hgweb(object):
     def run_wsgi(self, req):
         def header(**map):
             header_file = cStringIO.StringIO(
-                ''.join(self.t("header", encoding=util._encoding, **map)))
+                ''.join(self.t("header", encoding=self.encoding, **map)))
             msg = mimetools.Message(header_file, 0)
             req.header(msg.items())
             yield header_file.read()