[Checkins] SVN: zope.publisher/trunk/ Make principal logging unicode safe.

Christian Theune ct at gocept.com
Wed May 19 08:32:22 EDT 2010


Log message for revision 112534:
  Make principal logging unicode safe.
  

Changed:
  U   zope.publisher/trunk/CHANGES.txt
  U   zope.publisher/trunk/src/zope/publisher/principallogging.py
  U   zope.publisher/trunk/src/zope/publisher/tests/test_principallogging.py

-=-
Modified: zope.publisher/trunk/CHANGES.txt
===================================================================
--- zope.publisher/trunk/CHANGES.txt	2010-05-19 12:17:49 UTC (rev 112533)
+++ zope.publisher/trunk/CHANGES.txt	2010-05-19 12:32:22 UTC (rev 112534)
@@ -4,7 +4,7 @@
 3.12.4 (unreleased)
 -------------------
 
-- TBD
+- LP #131460: Make principal logging unicode safe.
 
 3.12.3 (2010-04-30)
 -------------------

Modified: zope.publisher/trunk/src/zope/publisher/principallogging.py
===================================================================
--- zope.publisher/trunk/src/zope/publisher/principallogging.py	2010-05-19 12:17:49 UTC (rev 112533)
+++ zope.publisher/trunk/src/zope/publisher/principallogging.py	2010-05-19 12:32:22 UTC (rev 112534)
@@ -21,6 +21,7 @@
 from zope.publisher.interfaces.logginginfo import ILoggingInfo
 from zope.security.interfaces import IPrincipal
 
+
 class PrincipalLogging(object):
 
     adapts(IPrincipal)
@@ -30,4 +31,4 @@
         self.principal = principal
 
     def getLogMessage(self):
-        return str(self.principal.id)
+        return repr(self.principal.id)[2:-1]

Modified: zope.publisher/trunk/src/zope/publisher/tests/test_principallogging.py
===================================================================
--- zope.publisher/trunk/src/zope/publisher/tests/test_principallogging.py	2010-05-19 12:17:49 UTC (rev 112533)
+++ zope.publisher/trunk/src/zope/publisher/tests/test_principallogging.py	2010-05-19 12:32:22 UTC (rev 112534)
@@ -18,10 +18,12 @@
 import unittest
 from zope.interface.verify import verifyObject
 
+
 class PrincipalStub(object):
 
-    id = 42
+    id = u'\xfc principal'
 
+
 class TestPrincipalLogging(unittest.TestCase):
 
     def test_interface(self):
@@ -35,8 +37,9 @@
         from zope.publisher.principallogging import PrincipalLogging
         principal = PrincipalStub()
         pl = PrincipalLogging(principal)
-        self.assertEquals(pl.getLogMessage(), '42')
+        self.assertEquals(pl.getLogMessage(), '\\xfc principal')
 
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(TestPrincipalLogging))



More information about the checkins mailing list