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	Sat Jun 23 21:11:28 2007 +0200
+++ b/doc/hgrc.5.txt	Wed Jun 13 18:18:06 2007 +0900
@@ -551,6 +551,9 @@
     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	Sat Jun 23 21:11:28 2007 +0200
+++ b/mercurial/hgweb/hgweb_mod.py	Wed Jun 13 18:18:06 2007 +0900
@@ -103,6 +103,7 @@
             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 @@
     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()