mikrowerk-edi-invoicing 0.6.0__py3-none-any.whl → 0.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- edi_invoice_parser/__init__.py +1 -1
- edi_invoice_parser/cross_industry_invoice_mapper.py +19 -3
- edi_invoice_parser/model/trade_document_types.py +0 -1
- {mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/METADATA +1 -1
- {mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/RECORD +8 -8
- {mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/WHEEL +0 -0
- {mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/licenses/LICENSE +0 -0
- {mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/top_level.txt +0 -0
edi_invoice_parser/__init__.py
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"""
|
|
2
2
|
This implements a mapper from a drafthorse parsed x-rechnung-xml to the internal XRechnung object
|
|
3
3
|
"""
|
|
4
|
+
import logging
|
|
4
5
|
from lxml import etree
|
|
5
6
|
|
|
6
7
|
from .model.trade_document_types import TradeDocument
|
|
7
8
|
from .cii_dom_parser import XRechnungCIIXMLParser
|
|
8
9
|
from .ubl_sax_parser.xml_ubl_sax_parser import XRechnungUblXMLParser
|
|
10
|
+
from .model.xml_abstract_x_rechnung_parser import XMLAbstractXRechnungParser
|
|
11
|
+
|
|
12
|
+
_logger = logging.getLogger(__name__)
|
|
9
13
|
|
|
10
14
|
|
|
11
15
|
def parse_and_map_x_rechnung(_xml: bytes) -> TradeDocument:
|
|
@@ -17,12 +21,24 @@ def parse_and_map_x_rechnung(_xml: bytes) -> TradeDocument:
|
|
|
17
21
|
Returns: XRechnung
|
|
18
22
|
|
|
19
23
|
"""
|
|
24
|
+
_parser = get_xml_parser_for_doc_type(_xml)
|
|
25
|
+
if _parser is None:
|
|
26
|
+
raise ValueError('xml format not supported for any parser"')
|
|
27
|
+
return _parser.parse_and_map_x_rechnung(_xml)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_xml_parser_for_doc_type(_xml: bytes) -> XMLAbstractXRechnungParser:
|
|
20
31
|
_parser = None
|
|
21
32
|
tree = etree.fromstring(_xml)
|
|
22
33
|
if tree.tag == '{urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100}CrossIndustryInvoice':
|
|
23
34
|
_parser = XRechnungCIIXMLParser()
|
|
24
35
|
elif tree.tag == '{urn:oasis:names:specification:ubl:schema:xsd:Invoice-2}Invoice':
|
|
25
36
|
_parser = XRechnungUblXMLParser()
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return _parser
|
|
37
|
+
else:
|
|
38
|
+
_logger.warning(f'No parser found, unsupported XML tag: {tree.tag}')
|
|
39
|
+
return _parser
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def check_if_parser_is_available(_xml: bytes) -> bool:
|
|
43
|
+
return get_xml_parser_for_doc_type(_xml) is not None
|
|
44
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
edi_invoice_parser/__init__.py,sha256=
|
|
2
|
-
edi_invoice_parser/cross_industry_invoice_mapper.py,sha256=
|
|
1
|
+
edi_invoice_parser/__init__.py,sha256=o_oatupAKzFcuuRI1z6Epj8-rIAEsxVCHwmPF0SJgVs,667
|
|
2
|
+
edi_invoice_parser/cross_industry_invoice_mapper.py,sha256=PCByIKH0srVnXqKR3orcQsrAxcqAtp_ljcmhNIv2FS8,1402
|
|
3
3
|
edi_invoice_parser/cii_dom_parser/__init__.py,sha256=J9O0f-t1570oDgC_zWT6-MpjOYA6o3whazbe9ffQqjE,188
|
|
4
4
|
edi_invoice_parser/cii_dom_parser/dom_elements_helper.py,sha256=60_YyI85xWhIa92hHwIr_FLQvFuRcNrlCJjBi9S1s8o,3686
|
|
5
5
|
edi_invoice_parser/cii_dom_parser/pdf.py,sha256=1bbXWdqIGmrnYvkS284oc6ZVvH995vd9qB8-xdcDtf0,13270
|
|
@@ -21,7 +21,7 @@ edi_invoice_parser/cii_dom_parser/models/references.py,sha256=2LYJGJU5KkJse-UsUc
|
|
|
21
21
|
edi_invoice_parser/cii_dom_parser/models/trade.py,sha256=exlMrVMzj9aMb0qI3c610G3GuB6Z5ttM4qkFfK5tn3o,6968
|
|
22
22
|
edi_invoice_parser/cii_dom_parser/models/tradelines.py,sha256=262opVT4pWXKEc_-HTEqVjm4yqQhvz639QNckEQCthY,5650
|
|
23
23
|
edi_invoice_parser/model/__init__.py,sha256=gdzehRQK27DRpc-datjXMSkcs5GvxPFtph02wLE1Kns,647
|
|
24
|
-
edi_invoice_parser/model/trade_document_types.py,sha256=
|
|
24
|
+
edi_invoice_parser/model/trade_document_types.py,sha256=nmNzSG0bK9FCUzF1KmR1SUvgEx8ACaXezhLV_a97eYQ,5060
|
|
25
25
|
edi_invoice_parser/model/xml_abstract_x_rechnung_parser.py,sha256=ufkXX4OP0_CjsB9pjF0-h_MJerkOx4JeY54nULi_BUA,691
|
|
26
26
|
edi_invoice_parser/tests/__init__.py,sha256=KhEmBFKreDn5PGQFEnBzTAI7IkxtRj_H0dMxk_tuo54,160
|
|
27
27
|
edi_invoice_parser/tests/test_iban_handling.py,sha256=suRaB9gxbNc2Dc7spjHmQyPBdXva98HF1js85wQWqPM,662
|
|
@@ -31,8 +31,8 @@ edi_invoice_parser/ubl_sax_parser/xml_ubl_sax_parser.py,sha256=eZETsQi0MZ7f0SvyR
|
|
|
31
31
|
edi_invoice_parser/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
edi_invoice_parser/util/file_helper.py,sha256=4gdWbv8L9LSMraLKvGI1Z3NMcuGGy7JB1qFvNaW-yo4,767
|
|
33
33
|
edi_invoice_parser/util/timer_helper.py,sha256=X1XSV03iLZ4xfjELj_axlvNxzR2sOrJInXiv9HU2Fyg,284
|
|
34
|
-
mikrowerk_edi_invoicing-0.6.
|
|
35
|
-
mikrowerk_edi_invoicing-0.6.
|
|
36
|
-
mikrowerk_edi_invoicing-0.6.
|
|
37
|
-
mikrowerk_edi_invoicing-0.6.
|
|
38
|
-
mikrowerk_edi_invoicing-0.6.
|
|
34
|
+
mikrowerk_edi_invoicing-0.6.1.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
35
|
+
mikrowerk_edi_invoicing-0.6.1.dist-info/METADATA,sha256=EEEN0GCXPmhTvEFofOhbB8He2YY4UYP5q6_TdSOKJ9Q,1074
|
|
36
|
+
mikrowerk_edi_invoicing-0.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
37
|
+
mikrowerk_edi_invoicing-0.6.1.dist-info/top_level.txt,sha256=OyIJDXDBfR9f0EvTDTmEHdXEFHscjRqX1MxeOeT2VKM,19
|
|
38
|
+
mikrowerk_edi_invoicing-0.6.1.dist-info/RECORD,,
|
|
File without changes
|
{mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{mikrowerk_edi_invoicing-0.6.0.dist-info → mikrowerk_edi_invoicing-0.6.1.dist-info}/top_level.txt
RENAMED
|
File without changes
|