Skip to content

Commit b289075

Browse files
authored
move element distinction logic to separate module (#7)
1 parent fce7562 commit b289075

File tree

2 files changed

+45
-35
lines changed

2 files changed

+45
-35
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
"""shared logic between MIG and AHB reader to distinguish elements from the XML"""
2+
3+
import xml.etree.ElementTree as ET
4+
5+
6+
def _is_segment_group(element: ET.Element) -> bool:
7+
"""
8+
returns True if the given element is a segment group
9+
"""
10+
return element.tag.startswith("G_SG")
11+
12+
13+
def _is_segment(element: ET.Element) -> bool:
14+
"""
15+
returns True if the given element is a segment
16+
"""
17+
return element.tag.startswith("S_")
18+
19+
20+
def _is_data_element_group(element: ET.Element) -> bool:
21+
"""
22+
returns True if the given element is a data element group
23+
"""
24+
return element.tag.startswith("C_")
25+
26+
27+
def _is_data_element(element: ET.Element) -> bool:
28+
"""
29+
returns True if the given element is a data element
30+
"""
31+
return element.tag.startswith("D_")
32+
33+
34+
def _is_code(element: ET.Element) -> bool:
35+
"""
36+
returns True if the given element is a code
37+
"""
38+
return element.tag == "Code"

src/fundamend/reader/migreader.py

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,13 @@
1515
Segment,
1616
SegmentGroup,
1717
)
18-
19-
20-
def _is_segment_group(element: ET.Element) -> bool:
21-
"""
22-
returns True if the given element is a segment group
23-
"""
24-
return element.tag.startswith("G_SG")
25-
26-
27-
def _is_segment(element: ET.Element) -> bool:
28-
"""
29-
returns True if the given element is a segment
30-
"""
31-
return element.tag.startswith("S_")
32-
33-
34-
def _is_data_element_group(element: ET.Element) -> bool:
35-
"""
36-
returns True if the given element is a data element group
37-
"""
38-
return element.tag.startswith("C_")
39-
40-
41-
def _is_data_element(element: ET.Element) -> bool:
42-
"""
43-
returns True if the given element is a data element
44-
"""
45-
return element.tag.startswith("D_")
46-
47-
48-
def _is_code(element: ET.Element) -> bool:
49-
"""
50-
returns True if the given element is a code
51-
"""
52-
return element.tag == "Code"
18+
from fundamend.reader.element_distinction import (
19+
_is_code,
20+
_is_data_element,
21+
_is_data_element_group,
22+
_is_segment,
23+
_is_segment_group,
24+
)
5325

5426

5527
def _to_code(element: ET.Element) -> Code:

0 commit comments

Comments
 (0)