IDD Processor Module Documentation

class pyiddidf.idd_processor.CurrentReadType

Bases: object

Internal class containing constants for the different states of the actual IDD Processor engine

EncounteredComment_ReadToCR = 0
LookingForFieldMetaDataOrNextField = 11
LookingForFieldMetaDataOrNextObject = 10
LookingForObjectMetaDataOrNextField = 4
ReadAnything = 1
ReadingFieldANValue = 7
ReadingFieldMetaData = 8
ReadingFieldMetaDataOrNextANValueOrNextObject = 9
ReadingGroupDeclaration = 2
ReadingObjectMetaData = 5
ReadingObjectMetaDataContents = 6
ReadingObjectName = 3
class pyiddidf.idd_processor.IDDProcessor

Bases: object

The core IDD Processor class. Given an IDD via stream or path, this class has workers to robustly process the IDD into a rich IDDStructure instance.

The constructor takes no arguments but sets up instance variables. Relevant “public” members are listed here:

Variables
  • idd (IDDStructure) – The resulting IDDStructure instance after processing the IDD file/stream

  • file_path (str) – A file path for this IDD, although it may be just a simple descriptor

peek_one_char() str

Internal worker function that reads a single character from the internal IDD stream but resets the stream to the former position

Returns

A single character, the one immediately following the cursor, or None if it can’t peek ahead.

process_file()

Internal worker function that reads the IDD stream, whether it was constructed from a file path, stream or string. This state machine worker moves character by character reading tokens and processing them into a meaningful IDD structure.

Returns

An IDD structure describing the IDD contents

Raises

ProcessingException – for any erroneous conditions encountered during processing

process_file_given_file_path(file_path)

This worker allows processing of an IDD file at a specific path on disk.

Parameters

file_path – The path to an IDD file on disk.

Returns

An IDDStructure instance created from processing the IDD file

Raises

ProcessingException – if the specified file does not exist

process_file_via_stream(idd_file_stream)

This worker allows processing of an IDD snippet via stream. Most useful for unit testing, but possibly for other situations.

Parameters

idd_file_stream (file-like-object) – An IDD snippet that responds to typical file-like commands such as read(). A common object would be the StringIO object.

Returns

An IDDStructure instance created from processing the IDD snippet

process_file_via_string(idd_string)

This worker allows processing of an IDD snippet string. Most useful for unit testing, but possibly for other situations.

Parameters

idd_string (str) – An IDD snippet string

Returns

An IDDStructure instance created from processing the IDD string

read_one_char() str

Internal worker function that reads a single character from the internal IDD stream, advancing the cursor.

Returns

A single character, the one immediately following the cursor, or None if it can’t read.