pyx12.segment

Implements an interface to a x12 segment.

A segment is comprised of a segment identifier and a sequence of elements. An element can be a simple element or a composite. A simple element is treated as a composite element with one sub-element.

All indexing is zero based.

Attributes

Classes

Element

Holds a simple element, which is just a simple string.

Composite

Can be a simple element or a composite.

Segment

Encapsulates a X12 segment. Contains composites.

Module Contents

pyx12.segment.rec_seg_id[source]
class pyx12.segment.Element(ele_str)[source]

Holds a simple element, which is just a simple string.

Parameters:

ele_str (string) – 1::2

value: str[source]
format()[source]
Return type:

string

get_value()[source]
Return type:

string

set_value(elem_str)[source]
Parameters:

elem_str (string) – Element string value

Return type:

None

is_composite()[source]
Return type:

boolean

is_element()[source]
Return type:

boolean

is_empty()[source]
Return type:

boolean

class pyx12.segment.Composite(ele_str, subele_term=None)[source]

Can be a simple element or a composite. A simple element is treated as a composite element with one sub-element.

Raises:

EngineError – If a terminator is None and no default

Parameters:
  • ele_str (string)

  • subele_term (str | None)

subele_term: str[source]
subele_term_orig: str[source]
elements: list[Element][source]
format(subele_term=None)[source]

Format a composite

Returns:

string

Raises:

EngineError – If terminator is None and no default

Parameters:

subele_term (str | None)

Return type:

str

get_value()[source]

Get value of simple element

Return type:

str

set_subele_term(subele_term)[source]
Parameters:

subele_term (string) – Sub-element terminator value

Return type:

None

is_composite()[source]
Return type:

boolean

is_element()[source]
Return type:

boolean

is_empty()[source]
Return type:

boolean

values_iterator()[source]
Return type:

collections.abc.Iterator[tuple[str, str]]

class pyx12.segment.Segment(seg_str, seg_term, ele_term, subele_term, repetition_term='^')[source]

Encapsulates a X12 segment. Contains composites.

Parameters:
  • seg_str (str | None)

  • seg_term (str)

  • ele_term (str)

  • subele_term (str)

  • repetition_term (str)

seg_term: str[source]
seg_term_orig: str[source]
ele_term: str[source]
ele_term_orig: str[source]
subele_term: str[source]
subele_term_orig: str[source]
repetition_term: str[source]
seg_id: str | None[source]
elements: list[Composite][source]
append(val)[source]

Append a composite to the segment

Parameters:

val (string) – String value of composite

Return type:

None

get_seg_id()[source]
Return type:

string

get(ref_des)[source]
Parameters:

ref_des (string) – X12 Reference Designator

Returns:

Element or Composite

Return type:

L{segment.Composite}

Raises:

IndexError – If ref_des does not contain a valid element index

get_value(ref_des)[source]
Parameters:

ref_des (string) – X12 Reference Designator

Return type:

str | None

get_value_by_ref_des(ref_des)[source]
Parameters:

ref_des (string) – X12 Reference Designator

Return type:

str

Attention: Deprecated - use get_value

set(ref_des, val)[source]

Set the value of an element or subelement identified by the Reference Designator

Parameters:
  • ref_des (string) – X12 Reference Designator

  • val (string) – New value

Return type:

None

is_element(ref_des)[source]
Parameters:

ref_des (string) – X12 Reference Designator

Return type:

bool

is_composite(ref_des)[source]
Parameters:

ref_des (string) – X12 Reference Designator

Return type:

bool

ele_len(ref_des)[source]
Parameters:

ref_des (string) – X12 Reference Designator

Returns:

number of sub-elements in an element or composite

Return type:

int

set_seg_term(seg_term)[source]
Parameters:

seg_term (string) – Segment terminator

Return type:

None

set_ele_term(ele_term)[source]
Parameters:

ele_term (string) – Element terminator

Return type:

None

set_subele_term(subele_term)[source]
Parameters:

subele_term (string) – Sub-element terminator

Return type:

None

format(seg_term=None, ele_term=None, subele_term=None)[source]
Return type:

string

Raises:

EngineError – If a terminator is None and no default

Parameters:
  • seg_term (str | None)

  • ele_term (str | None)

  • subele_term (str | None)

format_ele_list(str_elems, subele_term=None)[source]

Modifies the parameter str_elems Strips trailing empty composites

Parameters:
Return type:

None

is_empty()[source]
Return type:

boolean

is_seg_id_valid()[source]

Is the Segment identifier valid? EBNF: <seg_id> ::= <letter_or_digit> <letter_or_digit> [<letter_or_digit>] :rtype: boolean

Return type:

bool

copy()[source]
Return type:

Segment

values_iterator()[source]

Enumerate over the values in the segment, adding the path, element index and sub-element index

Return type:

collections.abc.Iterator[tuple[str, str, str | None, str]]