pyx12.error_handler

Interface to X12 Errors

Attributes

Exceptions

ErrorErrhNull

Class for errh_null errors.

Classes

err_iter

Iterate over the error tree

err_handler

The interface to the error handling structures.

err_node

err_isa

Holds source ISA loop errors

err_gs

Holds source GS loop information

err_st

ST loops

err_seg

Segment Errors

err_ele

Element Errors - Holds and generates output for element and

errh_null

A null error object - used for testing.

errh_list

Capture validation errors in a list

Module Contents

pyx12.error_handler.logger[source]
class pyx12.error_handler.err_iter(errh)[source]

Iterate over the error tree

Implements an odd iterator???

Parameters:

errh (L{error_handler.err_handler}) – Error_handler instance

errh: Any[source]
cur_node: Any[source]
visit_stack: list[Any][source]
first()[source]
Return type:

None

next()[source]
Return type:

None

get_cur_node()[source]
Return type:

Any

class pyx12.error_handler.err_handler[source]

The interface to the error handling structures.

id: str[source]
children: list[Any][source]
cur_node: Any[source]
cur_isa_node: Any[source]
cur_gs_node: Any[source]
cur_st_node: Any[source]
cur_seg_node: Any[source]
seg_node_added: bool[source]
cur_ele_node: Any[source]
ele_node_added: bool[source]
cur_line: int[source]
suppress_error_codes: set[str][source]
accept(visitor)[source]

Params: visitor - ref to visitor class

Parameters:

visitor (Any)

Return type:

None

handle_errors(err_list)[source]
Parameters:

err_list (list[tuple[str, str, str, Any, int | None]]) – list of errors to apply

Return type:

None

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

get_id()[source]
Return type:

str

add_isa_loop(seg_data, src)[source]
Parameters:
  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (Any)

Return type:

None

add_gs_loop(seg_data, src)[source]
Parameters:
  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (Any)

Return type:

None

add_st_loop(seg_data, src)[source]
Parameters:
  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (Any)

Return type:

None

add_seg(map_node, seg_data, seg_count, cur_line, ls_id)[source]
Parameters:
  • map_node (L{node<map_if.segment_if>}) – current segment node

  • seg_data (L{segment<segment.Segment>}) – Segment object

  • seg_count (int) – Count of current segment in the ST Loop

  • cur_line (int) – Current line number in the file

  • ls_id (string) – The current LS loop identifier

Return type:

None

add_ele(map_node)[source]
Parameters:

map_node (Any)

Return type:

None

isa_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – ISA level error code

  • err_str (string) – Description of the error

Return type:

None

gs_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – GS level error code

  • err_str (string) – Description of the error

Return type:

None

st_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – Segment level error code

  • err_str (string) – Description of the error

Return type:

None

seg_error(err_cde, err_str, err_value=None, src_line=None)[source]
Parameters:
  • err_cde (string) – Segment level error code

  • err_str (string) – Description of the error

  • err_value (str | None)

  • src_line (int | None)

Return type:

None

ele_error(err_cde, err_str, bad_value, refdes=None)[source]
Parameters:
  • err_cde (string) – Element level error code

  • err_str (string) – Description of the error

  • bad_value (str | None)

  • refdes (str | None)

Return type:

None

close_isa_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

close_gs_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

close_st_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

get_parent()[source]
Return type:

None

get_error_count()[source]
Return type:

int

get_first_child()[source]
Return type:

Any

get_next_sibling()[source]
Return type:

None

is_closed()[source]
Return type:

boolean

class pyx12.error_handler.err_node(parent)[source]
Parameters:

parent (Any)

parent: Any[source]
id: str | None[source]
children: list[Any][source]
cur_line: int[source]
errors: list[Any][source]
accept(visitor)[source]
Parameters:

visitor (Any)

Return type:

None

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

get_id()[source]
Return type:

str | None

get_parent()[source]
Return type:

Any

get_next_sibling()[source]
Return type:

Any

get_first_child()[source]
Return type:

Any

get_error_count()[source]
Return type:

int

get_error_list(seg_id, pre=False)[source]
Parameters:
Return type:

list[Any]

is_closed()[source]
Return type:

boolean

class pyx12.error_handler.err_isa(parent, seg_data, src)[source]

Bases: err_node

Holds source ISA loop errors

Parameters:
  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (L{X12file<x12file.X12Reader>}) – X12file source

  • parent (Any)

seg_data: pyx12.segment.Segment[source]
isa_id: str | None[source]
cur_line_isa: int[source]
cur_line_iea: int | None[source]
isa_trn_set_id: str | None[source]
ta1_req: str | None[source]
orig_date: str | None[source]
orig_time: str | None[source]
elements: list[Any][source]
id = 'ISA'[source]
parent[source]
children = [][source]
errors = [][source]
is_closed()[source]
Return type:

boolean

accept(visitor)[source]

Params: visitor - ref to visitor class

Parameters:

visitor (Any)

Return type:

None

add_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – Error code

  • err_str (string) – Description of the error

Return type:

None

close(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

get_error_count()[source]
Return type:

int

get_error_list(seg_id, pre=False)[source]
Parameters:
Return type:

list[Any]

class pyx12.error_handler.err_gs(parent, seg_data, src)[source]

Bases: err_node

Holds source GS loop information

Parameters:
  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (L{X12file<x12file.X12Reader>}) – X12file source

  • parent (Any)

seg_data: pyx12.segment.Segment[source]
isa_id: str | None[source]
cur_line_gs: int[source]
cur_line_ge: int | None[source]
gs_control_num: str | None[source]
fic: str | None[source]
vriic: str | None[source]
st_loops: list[Any][source]
ack_code: str | None[source]
st_count_orig: int[source]
st_count_recv: int[source]
elements: list[Any][source]
id = 'GS'[source]
parent[source]
children = [][source]
errors = [][source]
accept(visitor)[source]

Params: visitor - ref to visitor class

Parameters:

visitor (Any)

Return type:

None

add_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – Error code

  • err_str (string) – Description of the error

Return type:

None

close(node, seg_data, src)[source]
Parameters:
Return type:

None

count_failed_st()[source]
Return type:

int

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

get_error_count()[source]
Return type:

int

get_error_list(seg_id, pre=False)[source]
Parameters:
Return type:

list[Any]

is_closed()[source]
Return type:

boolean

class pyx12.error_handler.err_st(parent, seg_data, src)[source]

Bases: err_node

ST loops

Needs:
  1. Transaction set id code (837, 834)

  2. Transaction set control number

  3. trn set error codes

  4. At SE, Determine final ack code

Parameters:
  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (L{X12file<x12file.X12Reader>}) – X12file source

  • parent (Any)

seg_data: pyx12.segment.Segment[source]
trn_set_control_num: str | None[source]
cur_line_st: int[source]
cur_line_se: int | None[source]
trn_set_id: str | None[source]
vriic: str | None[source]
ack_code: str[source]
elements: list[Any][source]
id = 'ST'[source]
parent[source]
children = [][source]
errors = [][source]
accept(visitor)[source]

Params: visitor - ref to visitor class

Parameters:

visitor (Any)

Return type:

None

add_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – Error code

  • err_str (string) – Description of the error

Return type:

None

close(node, seg_data, src)[source]

Close ST loop

Parameters:
  • node (L{node<map_if.x12_node>}) – SE node

  • seg_data (L{segment<segment.Segment>}) – Segment object

  • src (L{X12file<x12file.X12Reader>}) – X12file source

Return type:

None

err_count()[source]
Returns:

Count of ST/SE loop errors

Return type:

int

get_error_count()[source]
Return type:

int

get_error_list(seg_id, pre=False)[source]
Parameters:
Return type:

list[Any]

child_err_count()[source]
Return type:

int

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

is_closed()[source]
Return type:

boolean

class pyx12.error_handler.err_seg(parent, map_node, seg_data, seg_count, cur_line, ls_id)[source]

Bases: err_node

Segment Errors

Needs:

  1. seg_id_code

  2. seg_pos - pos in ST loop

  3. loop_id - LS loop id

  4. seg_count - in parent

Parameters:
name: str[source]
pos: int[source]
seg_id: str | None[source]
seg_count: int[source]
ls_id: str | None[source]
elements: list[Any][source]
parent[source]
cur_line[source]
id = 'SEG'[source]
errors = [][source]
accept(visitor)[source]

Params: visitor - ref to visitor class

Parameters:

visitor (Any)

Return type:

None

add_error(err_cde, err_str, err_value=None)[source]
Parameters:
  • err_cde (string) – Error code

  • err_str (string) – Description of the error

  • err_value (str | None)

Return type:

None

err_count()[source]

Returns: count of errors

Return type:

int

get_error_count()[source]
Return type:

int

child_err_count()[source]
Return type:

int

get_first_child()[source]
Return type:

None

class pyx12.error_handler.err_ele(parent, map_node)[source]

Bases: err_node

Element Errors - Holds and generates output for element and composite/sub-element errors

Each element with an error creates a new err_ele instance.

Parameters:
  • parent (Any)

  • map_node (Any)

ele_ref_num: str | None[source]
name: str | None[source]
ele_pos: int[source]
subele_pos: int | None[source]
repeat_pos: int | None[source]
id = 'ELE'[source]
parent[source]
errors = [][source]
accept(visitor)[source]

Params: visitor - ref to visitor class

Parameters:

visitor (Any)

Return type:

None

add_error(err_cde, err_str, bad_value)[source]
Parameters:
  • err_cde (string) – Error code

  • err_str (string) – Description of the error

  • bad_value (str | None)

Return type:

None

err_count()[source]
Return type:

int

get_error_count()[source]
Return type:

int

exception pyx12.error_handler.ErrorErrhNull[source]

Bases: Exception

Class for errh_null errors.

Initialize self. See help(type(self)) for accurate signature.

class pyx12.error_handler.errh_null[source]

A null error object - used for testing. Stores the current error in simple variables.

id: str[source]
cur_node: Any[source]
cur_line: int[source]
err_cde: str | None[source]
err_str: str | None[source]
suppress_error_codes: set[str][source]
reset()[source]

Clear any errors

Return type:

None

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

get_id()[source]
Returns:

Error node type

Return type:

string

add_isa_loop(seg, src)[source]
Parameters:
  • seg (Any)

  • src (Any)

Return type:

None

add_gs_loop(seg, src)[source]
Parameters:
  • seg (Any)

  • src (Any)

Return type:

None

add_st_loop(seg, src)[source]
Parameters:
  • seg (Any)

  • src (Any)

Return type:

None

add_seg(map_node, seg, seg_count, cur_line, ls_id)[source]
Parameters:
  • map_node (Any)

  • seg (Any)

  • seg_count (int)

  • cur_line (int)

  • ls_id (str | None)

Return type:

None

add_ele(map_node)[source]
Parameters:

map_node (Any)

Return type:

None

isa_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – ISA level error code

  • err_str (string) – Description of the error

Return type:

None

gs_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – GS level error code

  • err_str (string) – Description of the error

Return type:

None

st_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – Segment level error code

  • err_str (string) – Description of the error

Return type:

None

seg_error(err_cde, err_str, err_value=None, src_line=None)[source]
Parameters:
  • err_cde (string) – Segment level error code

  • err_str (string) – Description of the error

  • err_value (str | None)

  • src_line (int | None)

Return type:

None

ele_error(err_cde, err_str, bad_value, refdes=None)[source]
Parameters:
  • err_cde (string) – Element level error code

  • err_str (string) – Description of the error

  • bad_value (str | None)

  • refdes (str | None)

Return type:

None

close_isa_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

close_gs_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

close_st_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

get_parent()[source]
Return type:

None

get_next_sibling()[source]
Return type:

None

get_error_count()[source]
Return type:

int

handle_errors(err_list)[source]
Parameters:

err_list (list[Any])

Return type:

None

is_closed()[source]
Return type:

boolean

class pyx12.error_handler.errh_list[source]

Capture validation errors in a list Used to refactor away from error_handler

id: str[source]
cur_node: Any[source]
cur_line: int[source]
err_isa: list[tuple[str, str]][source]
err_gs: list[tuple[str, str]][source]
err_st: list[tuple[str, str]][source]
err_seg: list[tuple[str, str, str | None]][source]
err_ele: list[tuple[str, str, str | None, str | None]][source]
suppress_error_codes: set[str][source]
reset()[source]

Clear any errors

Return type:

None

get_cur_line()[source]
Returns:

Current file line number

Return type:

int

get_id()[source]
Returns:

Error node type

Return type:

string

add_isa_loop(seg, src)[source]
Parameters:
  • seg (Any)

  • src (Any)

Return type:

None

add_gs_loop(seg, src)[source]
Parameters:
  • seg (Any)

  • src (Any)

Return type:

None

add_st_loop(seg, src)[source]
Parameters:
  • seg (Any)

  • src (Any)

Return type:

None

add_seg(map_node, seg, seg_count, cur_line, ls_id)[source]
Parameters:
  • map_node (Any)

  • seg (Any)

  • seg_count (int)

  • cur_line (int)

  • ls_id (str | None)

Return type:

None

add_ele(map_node)[source]
Parameters:

map_node (Any)

Return type:

None

isa_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – ISA level error code

  • err_str (string) – Description of the error

Return type:

None

gs_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – GS level error code

  • err_str (string) – Description of the error

Return type:

None

st_error(err_cde, err_str)[source]
Parameters:
  • err_cde (string) – Segment level error code

  • err_str (string) – Description of the error

Return type:

None

seg_error(err_cde, err_str, err_value=None, src_line=None)[source]
Parameters:
  • err_cde (string) – Segment level error code

  • err_str (string) – Description of the error

  • err_value (str | None)

  • src_line (int | None)

Return type:

None

ele_error(err_cde, err_str, bad_value, refdes=None)[source]
Parameters:
  • err_cde (string) – Element level error code

  • err_str (string) – Description of the error

  • bad_value (str | None)

  • refdes (str | None)

Return type:

None

close_isa_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

close_gs_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

close_st_loop(node, seg, src)[source]
Parameters:
  • node (Any)

  • seg (Any)

  • src (Any)

Return type:

None

get_parent()[source]
Return type:

None

get_next_sibling()[source]
Return type:

None

get_error_count()[source]
Return type:

int

handle_errors(err_list)[source]

Handles errors generated by X12Reader :param err_list: List of errors :type err_list: [(type, error code, error string)]

Parameters:

err_list (list[tuple[str, str, str, Any, int | None]])

Return type:

None

is_closed()[source]
Return type:

boolean