diff --git a/src/caoscrawler/identifiable_adapters.py b/src/caoscrawler/identifiable_adapters.py index 1d4ef209d401fbc86fbcd8b2693e9a894bd679ea..9122cc4a882b94e3a6bba27921f59bc4bbc9d9a0 100644 --- a/src/caoscrawler/identifiable_adapters.py +++ b/src/caoscrawler/identifiable_adapters.py @@ -27,6 +27,7 @@ from __future__ import annotations import yaml from datetime import datetime +from caosdb.cached import cached_get_entity_by from typing import Any from .identifiable import Identifiable import caosdb as db @@ -274,9 +275,9 @@ identifiabel, identifiable and identified record) for a Record. be found return value is None. """ if record.path is not None: - return db.get_entity_by_path(record.path) + return cached_get_entity_by(path=record.path) if record.id is not None: - return db.get_entity_by_id(record.id) + return cached_get_entity_by(eid=record.id) identifiable = self.get_identifiable(record, referencing_entities=referencing_entities) @@ -453,7 +454,7 @@ class CaosDBIdentifiableAdapter(IdentifiableAdapter): # TODO is this needed for Identifiable? # or can we get rid of this function? if isinstance(identifiable, db.Entity): - return db.get_entity_by_path(identifiable) + return cached_get_entity_by(path=identifiable) if identifiable.path is None: raise RuntimeError("Path must not be None for File retrieval.") candidates = db.execute_query("FIND File which is stored at '{}'".format(