odxtools 8.0.4__py3-none-any.whl → 8.0.5__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.
- odxtools/database.py +14 -11
- odxtools/version.py +2 -2
- {odxtools-8.0.4.dist-info → odxtools-8.0.5.dist-info}/METADATA +1 -1
- {odxtools-8.0.4.dist-info → odxtools-8.0.5.dist-info}/RECORD +8 -8
- {odxtools-8.0.4.dist-info → odxtools-8.0.5.dist-info}/LICENSE +0 -0
- {odxtools-8.0.4.dist-info → odxtools-8.0.5.dist-info}/WHEEL +0 -0
- {odxtools-8.0.4.dist-info → odxtools-8.0.5.dist-info}/entry_points.txt +0 -0
- {odxtools-8.0.4.dist-info → odxtools-8.0.5.dist-info}/top_level.txt +0 -0
odxtools/database.py
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# SPDX-License-Identifier: MIT
|
2
2
|
from itertools import chain
|
3
3
|
from pathlib import Path
|
4
|
-
from typing import IO, Any, Dict, List, Optional, OrderedDict
|
4
|
+
from typing import IO, Any, Dict, List, Optional, OrderedDict, Union
|
5
5
|
from xml.etree import ElementTree
|
6
6
|
from zipfile import ZipFile
|
7
|
+
from os import PathLike
|
7
8
|
|
8
9
|
from packaging.version import Version
|
9
10
|
|
@@ -27,10 +28,7 @@ class Database:
|
|
27
28
|
into a single PDX file.
|
28
29
|
"""
|
29
30
|
|
30
|
-
def __init__(self
|
31
|
-
*,
|
32
|
-
pdx_zip: Optional[ZipFile] = None,
|
33
|
-
odx_d_file_name: Optional[str] = None) -> None:
|
31
|
+
def __init__(self) -> None:
|
34
32
|
self.model_version: Optional[Version] = None
|
35
33
|
self.auxiliary_files: OrderedDict[str, IO[bytes]] = OrderedDict()
|
36
34
|
|
@@ -39,9 +37,14 @@ class Database:
|
|
39
37
|
self._comparam_subsets = NamedItemList[ComparamSubset]()
|
40
38
|
self._comparam_specs = NamedItemList[ComparamSpec]()
|
41
39
|
|
42
|
-
def add_pdx_file(self,
|
43
|
-
|
44
|
-
|
40
|
+
def add_pdx_file(self, pdx_file: Union[str, "PathLike[Any]", IO[bytes], ZipFile]) -> None:
|
41
|
+
"""Add PDX file to database.
|
42
|
+
Either pass the path to the file, an IO with the file content or a ZipFile object.
|
43
|
+
"""
|
44
|
+
if isinstance(pdx_file, ZipFile):
|
45
|
+
pdx_zip = pdx_file
|
46
|
+
else:
|
47
|
+
pdx_zip = ZipFile(pdx_file)
|
45
48
|
for zip_member in pdx_zip.namelist():
|
46
49
|
# The name of ODX files can end with .odx, .odx-d,
|
47
50
|
# .odx-c, .odx-cs, .odx-e, .odx-f, .odx-fd, .odx-m,
|
@@ -54,16 +57,16 @@ class Database:
|
|
54
57
|
elif p.name.lower() != "index.xml":
|
55
58
|
self.add_auxiliary_file(zip_member, pdx_zip.open(zip_member))
|
56
59
|
|
57
|
-
def add_odx_file(self, odx_file_name: str) -> None:
|
60
|
+
def add_odx_file(self, odx_file_name: Union[str, "PathLike[Any]"]) -> None:
|
58
61
|
self._process_xml_tree(ElementTree.parse(odx_file_name).getroot())
|
59
62
|
|
60
63
|
def add_auxiliary_file(self,
|
61
|
-
aux_file_name: str,
|
64
|
+
aux_file_name: Union[str, "PathLike[Any]"],
|
62
65
|
aux_file_obj: Optional[IO[bytes]] = None) -> None:
|
63
66
|
if aux_file_obj is None:
|
64
67
|
aux_file_obj = open(aux_file_name, "rb")
|
65
68
|
|
66
|
-
self.auxiliary_files[aux_file_name] = aux_file_obj
|
69
|
+
self.auxiliary_files[str(aux_file_name)] = aux_file_obj
|
67
70
|
|
68
71
|
def _process_xml_tree(self, root: ElementTree.Element) -> None:
|
69
72
|
dlcs: List[DiagLayerContainer] = []
|
odxtools/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odxtools
|
3
|
-
Version: 8.0.
|
3
|
+
Version: 8.0.5
|
4
4
|
Summary: Utilities to work with the ODX standard for automotive diagnostics
|
5
5
|
Author-email: Katrin Bauer <katrin.bauer@mbition.io>, Andreas Lauser <andreas.lauser@mbition.io>, Ayoub Kaanich <kayoub5@live.com>
|
6
6
|
Maintainer-email: Andreas Lauser <andreas.lauser@mbition.io>, Ayoub Kaanich <kayoub5@live.com>
|
@@ -19,7 +19,7 @@ odxtools/complexdop.py,sha256=AHkHMf_IEWfy-_zSiCuZXmdTNCXiCOpg5GRZ5uMVV5A,280
|
|
19
19
|
odxtools/createanycomparam.py,sha256=RP0XA2Ut4GL2NWy05RvKBrTnpbvvCG2XuNL8OO-9rbI,617
|
20
20
|
odxtools/createanydiagcodedtype.py,sha256=0DVmMj4UCDYIg0zu9pgTplyhHmRedz1KJcchq1uKMjg,1216
|
21
21
|
odxtools/createecuvariantpatterns.py,sha256=FXHLGR4M791MRkpU2_keck88hoMYkuyPiCUxuGbUasQ,559
|
22
|
-
odxtools/database.py,sha256=
|
22
|
+
odxtools/database.py,sha256=FlyIkTPGsJoVceJco4c_GBlMbV5YdM5nokfVVTia3vo,8832
|
23
23
|
odxtools/dataobjectproperty.py,sha256=R5sOMIejzcTB-CXTRrL2dWnFwR08eInF531s3l9BQcI,5888
|
24
24
|
odxtools/decodestate.py,sha256=jJxLUzUYZ0C4t18FhJzo2iRTP8DF7BzrWLtRTTlLsJI,4885
|
25
25
|
odxtools/description.py,sha256=UoACftC_n7fQ1n9WDwCzizStMH0HCO2Qv0YLRaSjEgs,1484
|
@@ -102,7 +102,7 @@ odxtools/unitgroup.py,sha256=_WNpnYFmkiHQnOY8XhIviiQLXziY3kplH--7ufAWXyI,2067
|
|
102
102
|
odxtools/unitspec.py,sha256=bc3B6ysTXSxpNWyQ6cQVJgIGyxmeqRTeshc3bdym1iA,2948
|
103
103
|
odxtools/utils.py,sha256=PJFXkG74BzoheurrDYOwHZ6EuIcr1sdxf1tQGk6zSgs,1122
|
104
104
|
odxtools/variablegroup.py,sha256=--5sMDOMUg4I3hFyoVOFcGCTOrctrrMADdmH3Mn4wHk,848
|
105
|
-
odxtools/version.py,sha256=
|
105
|
+
odxtools/version.py,sha256=FuDHlM0820mCxDF0l8iRRVBUG8T6ZmD0Oxf1Zetwp8U,411
|
106
106
|
odxtools/writepdxfile.py,sha256=x3W2xiPVjzNZjfpJssY6ngkx74sZtb95OFmBHql1VY4,7766
|
107
107
|
odxtools/xdoc.py,sha256=gDq-8l8x-Tj1ZJOttPxZchcO5_jEPwcXxMgT29VgTS0,1433
|
108
108
|
odxtools/cli/__init__.py,sha256=T7ano_FIyzBASxYpmcA5VJXU5bQLIy_Qk0HE_SDKelY,106
|
@@ -209,9 +209,9 @@ odxtools/templates/macros/printStaticField.xml.jinja2,sha256=JIXFhyNrnQ-2_vWy6Rx
|
|
209
209
|
odxtools/templates/macros/printStructure.xml.jinja2,sha256=uswYs2xse0B9hZut_FN1GvvR0xsZa_3pZRnlF0ElEEc,559
|
210
210
|
odxtools/templates/macros/printTable.xml.jinja2,sha256=VsP01jqyQllLP-brQ6J1E8ubVntiToEb8Uk7HQEYqtY,1485
|
211
211
|
odxtools/templates/macros/printUnitSpec.xml.jinja2,sha256=AJ5jWYKRmoIZkrd25R1KmjjgU6pfOqRiOQHtUAuS6GI,2813
|
212
|
-
odxtools-8.0.
|
213
|
-
odxtools-8.0.
|
214
|
-
odxtools-8.0.
|
215
|
-
odxtools-8.0.
|
216
|
-
odxtools-8.0.
|
217
|
-
odxtools-8.0.
|
212
|
+
odxtools-8.0.5.dist-info/LICENSE,sha256=NeGPFQdTa6EKeON3aShVlPAIquJnbbiOfj0suz6rzyQ,1074
|
213
|
+
odxtools-8.0.5.dist-info/METADATA,sha256=KrVsOJyd7fni3SPL2N98k906AKBzGkdkfE1gxDRi4K0,44084
|
214
|
+
odxtools-8.0.5.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
215
|
+
odxtools-8.0.5.dist-info/entry_points.txt,sha256=_sBDzuNoT8LbbCjfc-OJiUt5WPrtOq_x-rr9txhrPjY,53
|
216
|
+
odxtools-8.0.5.dist-info/top_level.txt,sha256=pdS02kE5ZdgsaBRZDpX3NBFlaSx3zotsqX4E4V6tXEI,9
|
217
|
+
odxtools-8.0.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|