PyI40AAS issueshttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues2020-11-25T10:42:57+01:00https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/97model: Remove `_`-suffix from parameters of `__init__` functions2020-11-25T10:42:57+01:00Leon Mauritz Möllermodel: Remove `_`-suffix from parameters of `__init__` functionsRemove `_`-suffix from parameters like `submodel_` and `security_` in the `__init__` function of all classes of the `model`, as Igor suggested on Zulip.Remove `_`-suffix from parameters like `submodel_` and `security_` in the `__init__` function of all classes of the `model`, as Igor suggested on Zulip.Stable library APIhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/63adapter: Change JSON and XML parser interface to add objects directly into a ...2020-11-02T16:31:24+01:00Michael Thiesadapter: Change JSON and XML parser interface to add objects directly into a given AbstractObjectStoreThis allows to use a CouchDBObjectStore or other database-backed ObjectStores without collecting the objects in memory first.
The parser functions should return a set of Identifiers of the parsed objects instead.
See `aas.adapter.aasx....This allows to use a CouchDBObjectStore or other database-backed ObjectStores without collecting the objects in memory first.
The parser functions should return a set of Identifiers of the parsed objects instead.
See `aas.adapter.aasx.AASXReader.read_into()` [LINK](https://git.rwth-aachen.de/acplt/pyi40aas/-/blob/6278d03f6bbb5b22e707dc054382844f05794a3e/aas/adapter/aasx.py#L107), which already has a similar interface.
Progress:
- [x] JSON Deserialization
- [x] XML DeserializationStable library APIhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/135Get back Namespace base class in V30RC012021-04-09T17:13:29+02:00Igor GarmaevGet back Namespace base class in V30RC01The `get_referable`/`get_object_by_semantic_id` and `remove_referable`/`remove_object_by_semantic_id` functions are almost the same in classes `UniqueIdShortNamespace` and `UniqueSemanticIdNamespace`. It would be reasonable to add `Name...The `get_referable`/`get_object_by_semantic_id` and `remove_referable`/`remove_object_by_semantic_id` functions are almost the same in classes `UniqueIdShortNamespace` and `UniqueSemanticIdNamespace`. It would be reasonable to add `Namespace` base class with private methods that would generalize the get/remove funcs. These would then be reused in subclasses `UniqueIdShortNamespace` and `UniqueSemanticIdNamespace`Torben MinyTorben Minyhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/123Add typehint to SubmodelElementCollection.ordered2021-11-09T12:37:27+01:00Igor GarmaevAdd typehint to SubmodelElementCollection.orderedAdd typehint to SubmodelElementCollection.orderedAdd typehint to SubmodelElementCollection.orderedhttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/113Make DictSupplementaryFileContainer iterable2020-11-25T10:42:59+01:00Igor GarmaevMake DictSupplementaryFileContainer iterableThe class `DictSupplementaryFileContainer` which will be used as file store is currently not iterable. I think it would make sense make it iterable through `_name_map`. Now it is not possible to get any file stored in `DictSupplementaryF...The class `DictSupplementaryFileContainer` which will be used as file store is currently not iterable. I think it would make sense make it iterable through `_name_map`. Now it is not possible to get any file stored in `DictSupplementaryFileContainer` with public methods or members without filenamehttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/110make `Namespace` iterable2020-11-25T10:42:59+01:00Leon Mauritz Möllermake `Namespace` iterable@zrgt suggested on Zulip, that classes like `Submodel` and `SubmodelElementCollection` should be iterable.
@mhthies suggested to make Namespaces iterable with an implementation similar to the following:
```py
class Namespace:
[…]
...@zrgt suggested on Zulip, that classes like `Submodel` and `SubmodelElementCollection` should be iterable.
@mhthies suggested to make Namespaces iterable with an implementation similar to the following:
```py
class Namespace:
[…]
def __iter__(self):
return itertools.chain.from_iterable(self.namespace_element_sets)
```
This would make all classes which inherit from `Namespace` iterable over their contained `NamespaceSet`s, namely `AssetAdministrationShell`, `Submodel`, `SubmodelElementCollection`, `AnnotatedRelationshipElement` and `Entity`.https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/95model: Make abstract classes really abstract2020-11-25T10:42:57+01:00Igor Garmaevmodel: Make abstract classes really abstractNow all classes that are meant to be abstract are instantiable. That means they are not abstract. To solve the issue these classes must have abstract methods. I suggest to make `__init__` abstract for all these classesNow all classes that are meant to be abstract are instantiable. That means they are not abstract. To solve the issue these classes must have abstract methods. I suggest to make `__init__` abstract for all these classeshttps://git.rwth-aachen.de/acplt/pyi40aas/-/issues/80Missing `jsonschema` in `requirements.txt`2020-06-14T22:10:09+02:00Sebastian Heppners.heppner@iat.rwth-aachen.deMissing `jsonschema` in `requirements.txt`As far as I see, it is only used in the tests, though, so does it need to be added to the requirements?As far as I see, it is only used in the tests, though, so does it need to be added to the requirements?https://git.rwth-aachen.de/acplt/pyi40aas/-/issues/26model/adapter: Represent ValueDataType as native Python type2020-01-28T14:59:07+01:00Michael Thiesmodel/adapter: Represent ValueDataType as native Python typeProposal: Use native Python types for values (of Property, Qualifier, etc.) for easier programmatic handling of those values. We can choose the correct type at deserialization using the `valueType` attribute of those objects and re-creat...Proposal: Use native Python types for values (of Property, Qualifier, etc.) for easier programmatic handling of those values. We can choose the correct type at deserialization using the `valueType` attribute of those objects and re-create the `valueType` at serialization depending on the value's `type()`.
Then, we can throw away the `valueType` attribute (which is redundant to the `value` attribute's type) and probably replace it with a property, which would just return the `value`'s `xsd_name`.