Module codecs :: Class StreamReader

[show private | hide private]
[frames | no frames]

## Class StreamReader

    Codec --+
            |
           StreamReader

Known Subclasses:
  `StreamReader`

Method Summary
| ``__init__`(self, stream, errors)` Creates a StreamReader instance.
| ``__getattr__`(self, name, getattr)` Inherit all other methods from the underlying stream.
| ``decode`(self, input, errors)` Decodes the object input and returns a tuple (output object, length consumed). (inherited from `Codec`)
| ``encode`(self, input, errors)` Encodes the object input and returns a tuple (output object, length consumed). (inherited from `Codec`)
| ``read`(self, size)` Decodes data from the stream self.stream and returns the resulting object.
| ``readline`(self, size)` Read one line from the input stream and return the decoded data.
| ``readlines`(self, sizehint)` Read all lines available on the input stream and return them as list of lines.
| ``reset`(self)` Resets the codec buffers used for keeping state.

Method Details

### __init__(self, stream, errors='strict')
(Constructor)

    Creates a StreamReader instance.

    stream must be a file-like object open for reading
    (binary) data.

    The StreamReader may implement different error handling
    schemes by providing the errors keyword argument. These
    parameters are defined:

     'strict' - raise a ValueError (or a subclass)
     'ignore' - ignore the character and continue with the next
     'replace'- replace with a suitable replacement character;

### __getattr__(self, name, getattr=<built-in function getattr>)
(Qualification operator)

Inherit all other methods from the underlying stream.

### read(self, size=-1)

Decodes data from the stream self.stream and returns the resulting object.

size indicates the approximate maximum number of bytes to read from the stream for decoding purposes. The decoder can modify this setting as appropriate. The default value -1 indicates to read and decode as much as possible. size is intended to prevent having to decode huge files in one step.

The method should use a greedy read strategy meaning that it should read as much data as is allowed within the definition of the encoding and the given size, e.g. if optional encoding endings or state markers are available on the stream, these should be read too.

### readline(self, size=None)

Read one line from the input stream and return the decoded data.

Note: Unlike the .readlines() method, this method inherits the line breaking knowledge from the underlying stream's .readline() method -- there is currently no support for 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 .readline() method.

### readlines(self, sizehint=None)

Read all lines available on the input stream and return them as list of lines.

Line breaks are implemented using the codec's decoder method and are included in the list entries.

sizehint, if given, is passed as size argument to the stream's .read() method.

### reset(self)

Resets the codec buffers used for keeping state.

Note that no stream repositioning should take place. This method is primarily intended to be able to recover from decoding errors.

Generated by Epydoc 1.1 on Thu May 8 13:18:16 2003 | http://epydoc.sf.net