PyI40AAS merge requestshttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests2020-04-20T09:18:37+02:00https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/25test: Fix occasional test failures due to rounding error in test_aasx2020-04-20T09:18:37+02:00Michael Thiestest: Fix occasional test failures due to rounding error in test_aasxFixes #64Fixes #64https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/24adapter: add xml deserialization2020-04-17T17:14:10+02:00Leon Mauritz Mölleradapter: add xml deserializationThis MR merges `feature/xml_deserilization` into `master`. It comes with deserialization tests and serialize + deserialize tests, just like the json module.
There's just one thing left to discuss, the problem I also mentioned in yeste...This MR merges `feature/xml_deserilization` into `master`. It comes with deserialization tests and serialize + deserialize tests, just like the json module.
There's just one thing left to discuss, the problem I also mentioned in yesterday's meeting:
I'm using a `TypedDict` to pass the modeling kind of submodels and submodel elements to the respective constructor only when it's specified in the xml document, see [_get_modeling_kind_kwarg()](https://git.rwth-aachen.de/acplt/pyaas/-/blob/f8286e1f95b3b0635aac73597265c95474308d8e/aas/adapter/xml/xml_deserialization.py#L431).
I'm doing it this way because in my opinion defining the default modeling kind should be a task of the respective model constructors, not of the deserialization, since the default value is also only defined in the model part of `Details of the Asset Administration Shell Part 1` (see chapter 4.7.2.3), not in the serialization/deserialization part.
The problem is, that I'm importing `TypedDict` from `mypy_extensions`, because it's only available from `typing` in python 3.8+. `mypy` is not a runtime dependency, thus I can't use `mypy_extensions` in code that is not for testing only.
An alternative would be to also just define the default modeling kind in the `xml_deserialization`, just like the `json_deserialization` does.
I'd like to hear your opinion on this, maybe you can come up with other alternatives.
The rest of this merge request is ready for code review btw.https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/23adapter: re-publish reader/writer functions2020-04-14T15:03:51+02:00Leon Mauritz Mölleradapter: re-publish reader/writer functionsRe-publish reader/writer functions and relevant classes from adapter.json and adapter.xml modules.
Rename read_json_aas_file to read_aas_json_file.
Change json and xml module imports accordingly.
Close #65Re-publish reader/writer functions and relevant classes from adapter.json and adapter.xml modules.
Rename read_json_aas_file to read_aas_json_file.
Change json and xml module imports accordingly.
Close #65https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/22json: update to schema 2.0.12020-04-09T15:58:23+02:00Torben Minyjson: update to schema 2.0.1https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/21adapter.xml: fix xml_serialization2020-04-09T14:42:59+02:00Leon Mauritz Mölleradapter.xml: fix xml_serializationThe change to range_to_xml() was made because it would previously not
serialize values for min/max that were 0.
According to chapter 4.8.2 of "Details of the Asset Administration Shell"
the DataSpecificationIEC61360 template should be r...The change to range_to_xml() was made because it would previously not
serialize values for min/max that were 0.
According to chapter 4.8.2 of "Details of the Asset Administration Shell"
the DataSpecificationIEC61360 template should be referenced in
embedded data specifications. Thus concept_description_to_xml() was
changed accordingly.https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/20set correct copyright year for all files2020-04-17T17:16:06+02:00Leon Mauritz Möllerset correct copyright year for all filesThis MR sets the correct copyright year (i.e. the year each file was last changed in) for all files.This MR sets the correct copyright year (i.e. the year each file was last changed in) for all files.https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/19Improve/fix JSON deserialization2020-03-25T16:40:16+01:00Leon Mauritz MöllerImprove/fix JSON deserializationThis merge request moves the inverse dicts from the JSON deserialization to `_generic.py`, since they are used in the XML deserializaton as well.
It also makes `_construct_reference()` return its `object_class` parameter, as mentioned o...This merge request moves the inverse dicts from the JSON deserialization to `_generic.py`, since they are used in the XML deserializaton as well.
It also makes `_construct_reference()` return its `object_class` parameter, as mentioned on zulip nearly two months ago. :'Dhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/18readme: Fill with content2020-03-25T15:27:12+01:00Michael Thiesreadme: Fill with contentFixes #44.Fixes #44.https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/17Add py.typed file to allow typechecking against this library2020-03-25T13:02:21+01:00Michael ThiesAdd py.typed file to allow typechecking against this libraryhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/16Add AASX reading and writing functionality2020-03-25T13:09:33+01:00Michael ThiesAdd AASX reading and writing functionalityThis MR adds the `adapter.aasx` module with `AASXReader` and `AASXWriter` classes to read and write `.aasx` files according to DotAAS section 7. Fixes #38.
It also adds/changes some core functionality to make this possible (or make test...This MR adds the `adapter.aasx` module with `AASXReader` and `AASXWriter` classes to read and write `.aasx` files according to DotAAS section 7. Fixes #38.
It also adds/changes some core functionality to make this possible (or make testing easier):
* New module `aas.util.traversal` for traversing AAS object structures
* Improved `DictObjectStore.__init__()`
* Fixing paths in `test.compliance_tool` for unixoid systems
* Add Submodel references for identification and BOM submodels to `Test_AssetAdministrationShell` in `examples.data.example_aas`https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/15examples: Add shebang, executable-bit and absolute imports2020-03-11T15:51:32+01:00Michael Thiesexamples: Add shebang, executable-bit and absolute importshttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/14model: Add typehint in AASReference.resolve() to make mypy happy2020-03-11T11:22:38+01:00Michael Thiesmodel: Add typehint in AASReference.resolve() to make mypy happyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/13Fix CI for merge requests and setup.py's syntax.2020-03-02T18:03:28+01:00Michael ThiesFix CI for merge requests and setup.py's syntax.https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/12model.provider: Add AbstractObjectStore.get() method2020-03-02T17:35:17+01:00Michael Thiesmodel.provider: Add AbstractObjectStore.get() methodhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/11Feature/xml serialization merge2020-03-25T13:08:54+01:00Sebastian Heppners.heppner@iat.rwth-aachen.deFeature/xml serialization mergeSince, the xml_serialization is complete, merge into masterSince, the xml_serialization is complete, merge into masterhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/10Feature/compliance tool2020-03-16T10:14:44+01:00Torben MinyFeature/compliance toolCompliance tool for checking json files and create example json file.
Have to be extended for xml files and for API check if this is standardizedCompliance tool for checking json files and create example json file.
Have to be extended for xml files and for API check if this is standardizedhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/9tests: add tests for submodel.py2020-02-04T11:29:05+01:00Torben Minytests: add tests for submodel.pyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/8Feature/modifying tests2020-02-03T15:56:22+01:00Torben MinyFeature/modifying testsFixed #40 and #46Fixed #40 and #46https://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/7Feature/restructuring2020-01-30T09:45:43+01:00Torben MinyFeature/restructuringAdding check functions to example files for easier usageAdding check functions to example files for easier usagehttps://git.rwth-aachen.de/acplt/pyi40aas/-/merge_requests/6Examples2020-01-30T08:28:18+01:00Torben MinyExamplesThis branch offers 3 tutorials for creating, storing, serializing and deserializing an asset administration shell, an asset and a submodel
It will close #31, #33 and #34This branch offers 3 tutorials for creating, storing, serializing and deserializing an asset administration shell, an asset and a submodel
It will close #31, #33 and #34