use precomputed mappings for get_name-function in ODAPI (faster)
This commit is contained in:
parent
fd91372759
commit
d14d72b8e7
1 changed files with 16 additions and 4 deletions
20
api/od.py
20
api/od.py
|
|
@ -118,10 +118,22 @@ class ODAPI:
|
||||||
return types[0]
|
return types[0]
|
||||||
|
|
||||||
def get_name(self, obj: UUID):
|
def get_name(self, obj: UUID):
|
||||||
return (
|
# with Timer("get_name"):
|
||||||
[name for name in self.bottom.read_keys(self.m) if self.bottom.read_outgoing_elements(self.m, name)[0] == obj] +
|
if obj in self.m_obj_to_name:
|
||||||
[name for name in self.bottom.read_keys(self.mm) if self.bottom.read_outgoing_elements(self.mm, name)[0] == obj]
|
name = self.m_obj_to_name[obj]
|
||||||
)[0]
|
# print(f"name {name} was found!")
|
||||||
|
return name
|
||||||
|
elif obj in self.mm_obj_to_name:
|
||||||
|
name = self.mm_obj_to_name[obj]
|
||||||
|
# print(f"name {name} was found!")
|
||||||
|
return name
|
||||||
|
else:
|
||||||
|
name = (
|
||||||
|
[name for name in self.bottom.read_keys(self.m) if self.bottom.read_outgoing_elements(self.m, name)[0] == obj] +
|
||||||
|
[name for name in self.bottom.read_keys(self.mm) if self.bottom.read_outgoing_elements(self.mm, name)[0] == obj]
|
||||||
|
)[0]
|
||||||
|
# print(f"warning: name {name} not found??!!")
|
||||||
|
return name
|
||||||
|
|
||||||
def get(self, name: str):
|
def get(self, name: str):
|
||||||
results = self.bottom.read_outgoing_elements(self.m, name)
|
results = self.bottom.read_outgoing_elements(self.m, name)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue