Skip to content

Commit bab973b

Browse files
authored
Merge branch 'main' into FST/docuAddOn
2 parents c87b109 + b6eaf6b commit bab973b

File tree

8 files changed

+22
-29
lines changed

8 files changed

+22
-29
lines changed

Diff for: .pre-commit-config.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# to update all repo revisions just run: pre-commit autoupdate
22
repos:
33
- repo: https://github.com/pre-commit/pre-commit-hooks
4-
rev: v4.4.0
4+
rev: v5.0.0
55
hooks:
66
- id: check-yaml
77
- id: end-of-file-fixer
88
- id: trailing-whitespace
99
- repo: https://github.com/psf/black
10-
rev: 23.9.1
10+
rev: 24.10.0
1111
hooks:
1212
- id: black
1313
language_version: python3
1414
- repo: https://github.com/pycqa/isort
15-
rev: 5.12.0
15+
rev: 5.13.2
1616
hooks:
1717
- id: isort
1818
name: isort (python)

Diff for: src/fundamend/models/anwendungshandbuch.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# the structures are similar, still we decided against inheritance, so there's naturally a little bit of duplication
55

66
from datetime import date
7+
from typing import Union
78

89
from ._dataclass_wrapper import dataclass
910

@@ -113,8 +114,7 @@ class SegmentGroup:
113114
id: str #: e.g. 'SG6'
114115
name: str #: e.g. 'Prüfidentifikator'
115116
ahb_status: str | None #: e.g. 'Muss'
116-
segments: list[Segment]
117-
segment_groups: list["SegmentGroup"]
117+
elements: list[Union[Segment, "SegmentGroup"]]
118118

119119

120120
@dataclass(kw_only=True, eq=True, frozen=True)
@@ -135,8 +135,7 @@ class Anwendungsfall:
135135
beschreibung: str #: e.g. 'Berechnungsformel'
136136
kommunikation_von: str #: e.g. 'NB an MSB / LF'
137137
format: str #: e.g. 'UTILTS'
138-
segments: list[Segment]
139-
segment_groups: list[SegmentGroup]
138+
elements: list[Union[Segment, SegmentGroup]]
140139

141140

142141
@dataclass(kw_only=True, eq=True, frozen=True)

Diff for: src/fundamend/models/messageimplementationguide.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from datetime import date
44
from enum import StrEnum
5+
from typing import Union
56

67
from ._dataclass_wrapper import dataclass
78

@@ -154,10 +155,9 @@ class SegmentGroup:
154155
level: int # e.g. 1
155156
max_rep_std: int # e.g. 99
156157
max_rep_specification: int # e.g. 1
157-
status_std: MigStatus # e.g. C
158-
status_specification: MigStatus # e.g. R
159-
segments: list[Segment]
160-
segment_groups: list["SegmentGroup"]
158+
status_std: MigStatus
159+
status_specification: MigStatus
160+
elements: list[Union[Segment, "SegmentGroup"]]
161161

162162

163163
@dataclass(kw_only=True, eq=True)
@@ -177,5 +177,4 @@ class MessageImplementationGuide:
177177

178178
format: str #: e.g. 'UTILTS'
179179

180-
segments: list[Segment]
181-
segment_groups: list[SegmentGroup]
180+
elements: list[Union[Segment, "SegmentGroup"]]

Diff for: src/fundamend/reader/ahbreader.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,7 @@ def _to_segment_group(element: ET.Element) -> SegmentGroup:
148148
id=element.tag.lstrip("G_SG"),
149149
name=element.attrib["Name"],
150150
ahb_status=element.attrib["AHB_Status"],
151-
segments=[s for s in segments_and_groups if isinstance(s, Segment)],
152-
segment_groups=[sg for sg in segments_and_groups if isinstance(sg, SegmentGroup)],
151+
elements=list(segments_and_groups),
153152
)
154153

155154

@@ -246,8 +245,7 @@ def _read_anwendungsfall(self, original_element: ET.Element) -> Anwendungsfall:
246245
beschreibung=original_element.attrib["Beschreibung"],
247246
kommunikation_von=original_element.attrib["Kommunikation_von"],
248247
format=format_element.tag.lstrip("M_"),
249-
segments=[s for s in segments_and_groups if isinstance(s, Segment)],
250-
segment_groups=[s for s in segments_and_groups if isinstance(s, SegmentGroup)],
248+
elements=list(segments_and_groups),
251249
)
252250

253251
def read(self) -> Anwendungshandbuch:

Diff for: src/fundamend/reader/migreader.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,7 @@ def _to_segment_group(element: ET.Element) -> SegmentGroup:
113113
level=int(element.attrib["Level"]),
114114
max_rep_std=int(element.attrib["MaxRep_Std"]),
115115
max_rep_specification=int(element.attrib["MaxRep_Specification"]),
116-
segments=[s for s in segments_and_groups if isinstance(s, Segment)],
117-
segment_groups=[sg for sg in segments_and_groups if isinstance(sg, SegmentGroup)],
116+
elements=list(segments_and_groups),
118117
)
119118

120119

@@ -197,7 +196,6 @@ def read(self) -> MessageImplementationGuide:
197196
autor=self.get_author(),
198197
versionsnummer=self.get_version(),
199198
format=self.get_format(),
200-
segments=[s for s in segments_and_groups if isinstance(s, Segment)],
201-
segment_groups=[s for s in segments_and_groups if isinstance(s, SegmentGroup)],
199+
elements=list(segments_and_groups),
202200
)
203201
return result

Diff for: unittests/__snapshots__/test_ahbreader.ambr

+3-3
Large diffs are not rendered by default.

Diff for: unittests/__snapshots__/test_migreader.ambr

+3-3
Large diffs are not rendered by default.

Diff for: unittests/test_ahbreader.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,5 @@ def test_get_anwendungshandbuch(ahb_xml_file_path: Path, snapshot: SnapshotAsser
170170
"25009",
171171
}
172172
for awf in actual.anwendungsfaelle:
173-
assert any(awf.segments)
174-
assert any(awf.segment_groups)
173+
assert any(awf.elements)
175174
snapshot.assert_match(actual)

0 commit comments

Comments
 (0)