Path:
strictdoc/backend/reqif/reqif_reader.py
Lines:
37
Non-empty lines:
31
Non-empty lines covered with requirements:
31 / 31 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""2
@relation(SDOC-SRS-72, scope=file)3
"""4
5
from typing import List
6
7
from reqif.parser import ReqIFParser, ReqIFZParser
8
from reqif.reqif_bundle import ReqIFBundle, ReqIFZBundle
9
10
from strictdoc.backend.reqif.p01_sdoc.reqif_to_sdoc_converter import (
11
P01_ReqIFToSDocConverter,
12
)13
from strictdoc.backend.sdoc.models.document import SDocDocument
14
15
16
class ReqIFReader:
17
@staticmethod18
def read_from_file(input_path: str) -> List[SDocDocument]:
19
converter = P01_ReqIFToSDocConverter()
20
21
documents: List[SDocDocument]
22
if input_path.endswith(".reqifz"):
23
reqifz_bundle: ReqIFZBundle = ReqIFZParser.parse(input_path)
24
assert len(reqifz_bundle.reqif_bundles) > 0
25
documents = converter.convert_reqif_bundle(
26
next(iter(reqifz_bundle.reqif_bundles.values())),
27
enable_mid=True,
28
import_markup="HTML",
29
)30
else:
31
reqif_bundle: ReqIFBundle = ReqIFParser.parse(input_path)
32
documents = converter.convert_reqif_bundle(
33
reqif_bundle,
34
enable_mid=True,
35
import_markup="HTML",
36
)37
return documents