[Python-checkins] r84374 - python/branches/py3k/Lib/logging/__init__.py

vinay.sajip python-checkins at python.org
Tue Aug 31 09:52:18 CEST 2010


Author: vinay.sajip
Date: Tue Aug 31 09:52:17 2010
New Revision: 84374

Log:
Removed _unicode variable which is always False in Python 3.x.

Modified:
   python/branches/py3k/Lib/logging/__init__.py

Modified: python/branches/py3k/Lib/logging/__init__.py
==============================================================================
--- python/branches/py3k/Lib/logging/__init__.py	(original)
+++ python/branches/py3k/Lib/logging/__init__.py	Tue Aug 31 09:52:17 2010
@@ -53,8 +53,6 @@
 #   Miscellaneous module data
 #---------------------------------------------------------------------------
 
-_unicode = 'unicode' in dir(__builtins__)
-
 #
 # _srcfile is used when walking the stack to check when we've got the first
 # caller stack frame.
@@ -313,15 +311,7 @@
         Return the message for this LogRecord after merging any user-supplied
         arguments with the message.
         """
-        if not _unicode: #if no unicode support...
-            msg = str(self.msg)
-        else:
-            msg = self.msg
-            if not isinstance(msg, str):
-                try:
-                    msg = str(self.msg)
-                except UnicodeError:
-                    msg = self.msg      #Defer encoding till later
+        msg = str(self.msg)
         if self.args:
             msg = msg % self.args
         return msg
@@ -838,27 +828,7 @@
             msg = self.format(record)
             stream = self.stream
             fs = "%s\n"
-            if not _unicode: #if no unicode support...
-                stream.write(fs % msg)
-            else:
-                try:
-                    if (isinstance(msg, unicode) and
-                        getattr(stream, 'encoding', None)):
-                        fs = fs.decode(stream.encoding)
-                        try:
-                            stream.write(fs % msg)
-                        except UnicodeEncodeError:
-                            #Printing to terminals sometimes fails. For example,
-                            #with an encoding of 'cp1251', the above write will
-                            #work if written to a stream opened or wrapped by
-                            #the codecs module, but fail when writing to a
-                            #terminal even when the codepage is set to cp1251.
-                            #An extra encoding step seems to be needed.
-                            stream.write((fs % msg).encode(stream.encoding))
-                    else:
-                        stream.write(fs % msg)
-                except UnicodeError:
-                    stream.write(fs % msg.encode("UTF-8"))
+            stream.write(fs % msg)
             self.flush()
         except (KeyboardInterrupt, SystemExit):
             raise


More information about the Python-checkins mailing list