Skip to content

Commit f885bce

Browse files
committed
correct errors
1 parent 70448ae commit f885bce

6 files changed

Lines changed: 31 additions & 31 deletions

File tree

server/app/interfaces/base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,13 +264,13 @@ def http_exception_to_response(exception: werkzeug.exceptions.HTTPException, res
264264
class ObjectStoreWSGIApp(BaseWSGIApp):
265265
object_store: AbstractObjectStore
266266

267-
def _get_all_obj_of_type(self, type_: Type[model.provider._IDENTIFIABLE]) -> Iterator[model.provider._IDENTIFIABLE]:
267+
def _get_all_obj_of_type(self, type_: Type[model.provider._IT]) -> Iterator[model.provider._IT]:
268268
for obj in self.object_store:
269269
if isinstance(obj, type_):
270270
yield obj
271271

272-
def _get_obj_ts(self, identifier: model.Identifier, type_: Type[model.provider._IDENTIFIABLE]) \
273-
-> model.provider._IDENTIFIABLE:
272+
def _get_obj_ts(self, identifier: model.Identifier, type_: Type[model.provider._IT]) \
273+
-> model.provider._IT:
274274
identifiable = self.object_store.get(identifier)
275275
if not isinstance(identifiable, type_):
276276
raise NotFound(f"No {type_.__name__} with {identifier} found!")

server/app/interfaces/descriptorStore.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
import json
66
import threading
77
from pathlib import Path
8-
from typing import Dict, List, Optional, Set
8+
from typing import Dict, List, Optional
99
from abc import ABC, abstractmethod
1010
import logging
1111

12-
from basyx.aas import model
13-
import server.app.model as server_model
12+
import app.model as server_model
1413

1514
logger = logging.getLogger(__name__)
1615

server/app/interfaces/discovery.py

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,12 @@ def get_all_specific_asset_ids_by_aas_id(self, aas_id: model.Identifier) -> List
6363

6464
def add_specific_asset_ids_to_aas(self, aas_id: model.Identifier,
6565
asset_ids: List[model.SpecificAssetId]) -> None:
66-
serialized_assets = [encoder.default(asset_id) for asset_id in asset_ids]
67-
if aas_id in self.aas_id_to_asset_ids:
68-
for asset in serialized_assets:
69-
if asset not in self.aas_id_to_asset_ids[aas_id]:
70-
self.aas_id_to_asset_ids[aas_id].append(asset)
71-
else:
72-
self.aas_id_to_asset_ids[aas_id] = serialized_assets[:]
66+
67+
if aas_id not in self.aas_id_to_asset_ids:
68+
self.aas_id_to_asset_ids[aas_id] = set()
69+
70+
for asset in asset_ids:
71+
self.aas_id_to_asset_ids[aas_id].add(asset)
7372

7473
def delete_specific_asset_ids_by_aas_id(self, aas_id: model.Identifier) -> None:
7574
key = aas_id
@@ -85,16 +84,16 @@ def search_aas_ids_by_asset_link(self, asset_link: server_model.AssetLink) -> Li
8584
return result
8685

8786
def _add_aas_id_to_specific_asset_id(self, asset_id: model.SpecificAssetId, aas_id: model.Identifier) -> None:
88-
asset_key = f"{asset_id.name}:{asset_id.value}"
89-
if asset_key in self.asset_id_to_aas_ids:
90-
self.asset_id_to_aas_ids[asset_key].add(aas_id)
87+
if asset_id in self.asset_id_to_aas_ids:
88+
self.asset_id_to_aas_ids[asset_id].add(aas_id)
9189
else:
92-
self.asset_id_to_aas_ids[asset_key] = {aas_id}
90+
self.asset_id_to_aas_ids[asset_id] = {aas_id}
9391

9492
def _delete_aas_id_from_specific_asset_ids(self, asset_id: model.SpecificAssetId, aas_id: model.Identifier) -> None:
95-
asset_key = f"{asset_id.name}:{asset_id.value}"
96-
if asset_key in self.asset_id_to_aas_ids:
97-
self.asset_id_to_aas_ids[asset_key].discard(aas_id)
93+
if asset_id in self.asset_id_to_aas_ids:
94+
self.asset_id_to_aas_ids[asset_id].discard(aas_id)
95+
96+
9897

9998

10099
class MongoDiscoveryStore(AbstractDiscoveryStore):
@@ -103,7 +102,7 @@ def __init__(self,
103102
db_name: str = "basyx",
104103
coll_aas_to_assets: str = "aas_to_assets",
105104
coll_asset_to_aas: str = "asset_to_aas"):
106-
self.client = MongoClient(uri)
105+
self.client: MongoClient = MongoClient(uri)
107106
self.db = self.client[db_name]
108107
self.coll_aas_to_assets: Collection = self.db[coll_aas_to_assets]
109108
self.coll_asset_to_aas: Collection = self.db[coll_asset_to_aas]
@@ -181,17 +180,16 @@ def search_all_aas_ids_by_asset_link(self, request: Request, url_args: dict, res
181180
for asset_link in asset_links:
182181
aas_keys = self.persistent_store.search_aas_ids_by_asset_link(asset_link)
183182
matching_aas_keys.update(aas_keys)
184-
matching_aas_keys = list(matching_aas_keys)
185-
paginated_slice, cursor = self._get_slice(request, matching_aas_keys)
183+
paginated_slice, cursor = self._get_slice(request, list(matching_aas_keys))
186184
return response_t(list(paginated_slice), cursor=cursor)
187185

188186
def get_all_specific_asset_ids_by_aas_id(self, request: Request, url_args: dict, response_t: type, **_kwargs) -> Response:
189-
aas_identifier = url_args.get("aas_id")
187+
aas_identifier = str(url_args["aas_id"])
190188
asset_ids = self.persistent_store.get_all_specific_asset_ids_by_aas_id(aas_identifier)
191189
return response_t(asset_ids)
192190

193191
def post_all_asset_links_by_id(self, request: Request, url_args: dict, response_t: type, **_kwargs) -> Response:
194-
aas_identifier = url_args.get("aas_id")
192+
aas_identifier = str(url_args["aas_id"])
195193
specific_asset_ids = HTTPApiDecoder.request_body_list(request, model.SpecificAssetId, False)
196194
self.persistent_store.add_specific_asset_ids_to_aas(aas_identifier, specific_asset_ids)
197195
for asset_id in specific_asset_ids:
@@ -200,7 +198,7 @@ def post_all_asset_links_by_id(self, request: Request, url_args: dict, response_
200198
return response_t(updated)
201199

202200
def delete_all_asset_links_by_id(self, request: Request, url_args: dict, response_t: type, **_kwargs) -> Response:
203-
aas_identifier = url_args.get("aas_id")
201+
aas_identifier = str(url_args["aas_id"])
204202
self.persistent_store.delete_specific_asset_ids_by_aas_id(aas_identifier)
205203
for key in list(self.persistent_store.asset_id_to_aas_ids.keys()):
206204
self.persistent_store.asset_id_to_aas_ids[key].discard(aas_identifier)

server/app/interfaces/provider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def _dict_to_descriptor(self, data: Dict[str, Any]) -> object:
138138
signatures differ.
139139
"""
140140
# Lazy import to avoid heavy dependencies at module load time
141-
from server.app.model.descriptor import (
141+
from app.model.descriptor import (
142142
AssetAdministrationShellDescriptor,
143143
SubmodelDescriptor,
144144
)

server/app/interfaces/repository.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,14 @@ def __call__(self, environ, start_response) -> Iterable[bytes]:
167167
response: Response = self.handle_request(Request(environ))
168168
return response(environ, start_response)
169169

170-
def _get_obj_ts(self, identifier: model.Identifier, type_: Type[model.provider._IDENTIFIABLE]) \
171-
-> model.provider._IDENTIFIABLE:
170+
def _get_obj_ts(self, identifier: model.Identifier, type_: Type[model.provider._IT]) \
171+
-> model.provider._IT:
172172
identifiable = self.object_store.get(identifier)
173173
if not isinstance(identifiable, type_):
174174
raise NotFound(f"No {type_.__name__} with {identifier} found!")
175175
return identifiable
176176

177-
def _get_all_obj_of_type(self, type_: Type[model.provider._IDENTIFIABLE]) -> Iterator[model.provider._IDENTIFIABLE]:
177+
def _get_all_obj_of_type(self, type_: Type[model.provider._IT]) -> Iterator[model.provider._IT]:
178178
for obj in self.object_store:
179179
if isinstance(obj, type_):
180180
yield obj

server/app/model/endpoint.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,10 @@ def is_valid_interface(cls, interface: base.NameType) -> bool:
9393
if len(parts) != 2:
9494
return False
9595
short_name, version = parts
96-
return short_name in cls.INTERFACE_SHORTNAMES and cls.VERSION_PATTERN.match(version)
96+
if short_name in cls.INTERFACE_SHORTNAMES and cls.VERSION_PATTERN.match(version):
97+
return True
98+
else:
99+
return False
97100

98101
@property
99102
def protocol_information(self) -> ProtocolInformation:

0 commit comments

Comments
 (0)