mirror of https://github.com/python/cpython
Bug #1627575: Added _open() method to FileHandler which can be used to reopen files. The FileHandler instance now saves the encoding (which can be None) in an attribute called "encoding".
This commit is contained in:
parent
c9137263d5
commit
825b75a053
|
@ -41,8 +41,8 @@ except ImportError:
|
||||||
|
|
||||||
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
|
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
|
||||||
__status__ = "production"
|
__status__ = "production"
|
||||||
__version__ = "0.5.0.0"
|
__version__ = "0.5.0.1"
|
||||||
__date__ = "08 January 2007"
|
__date__ = "09 January 2007"
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Miscellaneous module data
|
# Miscellaneous module data
|
||||||
|
@ -764,17 +764,15 @@ class FileHandler(StreamHandler):
|
||||||
"""
|
"""
|
||||||
Open the specified file and use it as the stream for logging.
|
Open the specified file and use it as the stream for logging.
|
||||||
"""
|
"""
|
||||||
if codecs is None:
|
|
||||||
encoding = None
|
|
||||||
if encoding is None:
|
|
||||||
stream = open(filename, mode)
|
|
||||||
else:
|
|
||||||
stream = codecs.open(filename, mode, encoding)
|
|
||||||
StreamHandler.__init__(self, stream)
|
|
||||||
#keep the absolute path, otherwise derived classes which use this
|
#keep the absolute path, otherwise derived classes which use this
|
||||||
#may come a cropper when the current directory changes
|
#may come a cropper when the current directory changes
|
||||||
|
if codecs is None:
|
||||||
|
encoding = None
|
||||||
self.baseFilename = os.path.abspath(filename)
|
self.baseFilename = os.path.abspath(filename)
|
||||||
self.mode = mode
|
self.mode = mode
|
||||||
|
self.encoding = encoding
|
||||||
|
stream = self._open()
|
||||||
|
StreamHandler.__init__(self, stream)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
"""
|
"""
|
||||||
|
@ -784,6 +782,13 @@ class FileHandler(StreamHandler):
|
||||||
self.stream.close()
|
self.stream.close()
|
||||||
StreamHandler.close(self)
|
StreamHandler.close(self)
|
||||||
|
|
||||||
|
def _open(self):
|
||||||
|
if self.encoding is None:
|
||||||
|
stream = open(self.baseFilename, self.mode)
|
||||||
|
else:
|
||||||
|
stream = codecs.open(self.baseFilename, self.mode, self.encoding)
|
||||||
|
return stream
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Manager classes and functions
|
# Manager classes and functions
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue