pydiffx.dom.reader

Reader for parsing a DiffX file into DOM objects.

Classes

DiffXDOMReader(diffx_cls)

A reader for parsing a DiffX file into DOM objects.

class pydiffx.dom.reader.DiffXDOMReader(diffx_cls)

Bases: object

A reader for parsing a DiffX file into DOM objects.

This will construct a DiffX from an input byte stream, such as a file, HTTP response, or memory-backed stream.

Often, you won’t use this directly. Instead, you’ll call DiffXFile.from_stream() or DiffXFile.from_bytes().

If constructing manually, one instance can be reused for multiple streams.

diffx_cls

The DiffX class or subclass to create when parsing.

Type:

type

reader_cls

The class to instantiate for reading from a stream.

Subclasses can set this if they need to use a more specialized reader.

Type:

type

alias of DiffXReader

__init__(diffx_cls)

Initialize the reader.

Parameters:

diffx_cls (type) – The DiffX class or subclass to create when parsing.

parse(stream)

Parse a stream and construct the DOM objects.

The stream will be closed after reading.

Parameters:

stream (file or io.IOBase) – The byte stream containing a valid DiffX file.

Returns:

The resulting DiffX instance.

Return type:

pydiffx.dom.objects.DiffX

Raises:

pydiffx.errors.DiffXParseError – The DiffX contents could not be parsed. Details will be in the error message.