diff --git a/README.md b/README.md index d50a9106ee08c77c5a59e97632d42e5567ee2fdf..b822b9532f7bef3b17de71f5bc5294ee82829357 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [](https://git-ce.rwth-aachen.de/wzl-mq-ms/forschung-lehre/lava/unified-device-interface/python/commits/master) # Python Unified Device Interface -Current stable version: 9.3.4 +Current stable version: 9.3.5 ## Installation 1. Install the WZL-UDI package via pip @@ -58,6 +58,9 @@ Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) ## Recent changes +**9.3.5** - 2024-03-18 + - fixed metadata provisioning of arguments and returns + **9.3.4** - 2024-03-16 - fixed semantic name resolution of range profiles diff --git a/setup.py b/setup.py index ae1fef755acc241c1d548fe98072a8cec9ec4b11..5023de3e0115e6cb18e118a81982881a5c2ec965 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() setup(name='wzl-udi', - version='9.3.4', + version='9.3.5', url='https://git-ce.rwth-aachen.de/wzl-mq-public/soil/python', project_urls={ "Bug Tracker": "https://git-ce.rwth-aachen.de/wzl-mq-public/soil/python/-/issues", diff --git a/src/soil/parameter.py b/src/soil/parameter.py index 9743aa06a7600df7b23be53d2f599c5121700b31..55949a38cb8ceccaf3c98cc9138e27664f8e5233 100644 --- a/src/soil/parameter.py +++ b/src/soil/parameter.py @@ -6,7 +6,7 @@ from typing import Dict, Callable, Any, List import rdflib from .datatype import Datatype -from .error import ReadOnlyException +from .error import ReadOnlyException, NotImplementedException from .semantics import Semantics, Namespaces from .variable import Variable from ..utils import root_logger @@ -158,8 +158,15 @@ class Parameter(Variable): assert (len(triples) == 1) result.remove(triples[0]) - rdf_value = Variable.serialize_value(result, self.__getitem__('value', 0)) - result.add((Semantics.namespace[self._semantic_name], Namespaces.qudt['value'], rdf_value)) + try: + rdf_value = Variable.serialize_value(result, self.__getitem__('value', 0)) + result.add((Semantics.namespace[self._semantic_name], Namespaces.qudt['value'], rdf_value)) + except DeviceException as e: + if isinstance(e._predecessor, NotImplementedException): + pass + else: + raise e + return result else: raise DeviceException('The provided kind of semantic information cannot be returned.')