mirror of https://github.com/python/cpython
M.-A. Lemburg <mal@lemburg.com>:
Added more documentation. Clarified some existing comments.
This commit is contained in:
parent
4e998bc658
commit
49fd1077bc
|
@ -231,10 +231,13 @@ class StreamReader(Codec):
|
||||||
""" Read one line from the input stream and return the
|
""" Read one line from the input stream and return the
|
||||||
decoded data.
|
decoded data.
|
||||||
|
|
||||||
Note: Unlike the .readlines() method, line breaking must
|
Note: Unlike the .readlines() method, this method inherits
|
||||||
be implemented by the underlying stream's .readline()
|
the line breaking knowledge from the underlying stream's
|
||||||
method -- there is currently no support for line breaking
|
.readline() method -- there is currently no support for
|
||||||
using the codec decoder due to lack of line buffering.
|
line breaking using the codec decoder due to lack of line
|
||||||
|
buffering. Sublcasses should however, if possible, try to
|
||||||
|
implement this method using their own knowledge of line
|
||||||
|
breaking.
|
||||||
|
|
||||||
size, if given, is passed as size argument to the stream's
|
size, if given, is passed as size argument to the stream's
|
||||||
.readline() method.
|
.readline() method.
|
||||||
|
@ -288,6 +291,14 @@ class StreamReader(Codec):
|
||||||
|
|
||||||
class StreamReaderWriter:
|
class StreamReaderWriter:
|
||||||
|
|
||||||
|
""" StreamReaderWriter instances allow wrapping streams which
|
||||||
|
work in both read and write modes.
|
||||||
|
|
||||||
|
The design is such that one can use the factory functions
|
||||||
|
returned by the codec.lookup() function to contruct the
|
||||||
|
instance.
|
||||||
|
|
||||||
|
"""
|
||||||
# Optional attributes set by the file wrappers below
|
# Optional attributes set by the file wrappers below
|
||||||
encoding = 'unknown'
|
encoding = 'unknown'
|
||||||
|
|
||||||
|
@ -346,6 +357,21 @@ class StreamReaderWriter:
|
||||||
|
|
||||||
class StreamRecoder:
|
class StreamRecoder:
|
||||||
|
|
||||||
|
""" StreamRecoder instances provide a frontend - backend
|
||||||
|
view of encoding data.
|
||||||
|
|
||||||
|
They use the complete set of APIs returned by the
|
||||||
|
codecs.lookup() function to implement their task.
|
||||||
|
|
||||||
|
Data written to the stream is first decoded into an
|
||||||
|
intermediate format (which is dependent on the given codec
|
||||||
|
combination) and then written to the stream using an instance
|
||||||
|
of the provided Writer class.
|
||||||
|
|
||||||
|
In the other direction, data is read from the stream using a
|
||||||
|
Reader instance and then return encoded data to the caller.
|
||||||
|
|
||||||
|
"""
|
||||||
# Optional attributes set by the file wrappers below
|
# Optional attributes set by the file wrappers below
|
||||||
data_encoding = 'unknown'
|
data_encoding = 'unknown'
|
||||||
file_encoding = 'unknown'
|
file_encoding = 'unknown'
|
||||||
|
@ -452,6 +478,11 @@ def open(filename, mode, encoding=None, errors='strict', buffering=1):
|
||||||
buffering has the same meaning as for the builtin open() API.
|
buffering has the same meaning as for the builtin open() API.
|
||||||
It defaults to line buffered.
|
It defaults to line buffered.
|
||||||
|
|
||||||
|
The returned wrapped file object provides an extra attribute
|
||||||
|
.encoding which allows querying the used encoding. This
|
||||||
|
attribute is only available if an encoding was specified as
|
||||||
|
parameter.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if encoding is not None and \
|
if encoding is not None and \
|
||||||
'b' not in mode:
|
'b' not in mode:
|
||||||
|
@ -488,6 +519,11 @@ def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
|
||||||
data_encoding and file_encoding are added to the wrapped file
|
data_encoding and file_encoding are added to the wrapped file
|
||||||
object as attributes .data_encoding and .file_encoding resp.
|
object as attributes .data_encoding and .file_encoding resp.
|
||||||
|
|
||||||
|
The returned wrapped file object provides two extra attributes
|
||||||
|
.data_encoding and .file_encoding which reflect the given
|
||||||
|
parameters of the same name. The attributes can be used for
|
||||||
|
introspection by Python programs.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if file_encoding is None:
|
if file_encoding is None:
|
||||||
file_encoding = data_encoding
|
file_encoding = data_encoding
|
||||||
|
|
Loading…
Reference in New Issue