2018-06-17 20:51:23 +02:00
|
|
|
import logging
|
2018-05-18 20:41:41 +02:00
|
|
|
|
2018-06-17 20:51:23 +02:00
|
|
|
from little_boxes.activitypub import get_backend
|
2018-06-16 22:02:10 +02:00
|
|
|
|
2018-06-17 20:51:23 +02:00
|
|
|
logger = logging.getLogger(__name__)
|
2018-05-26 00:03:30 +02:00
|
|
|
|
2018-05-18 20:41:41 +02:00
|
|
|
|
|
|
|
class ObjectService(object):
|
2018-06-17 20:51:23 +02:00
|
|
|
def __init__(self):
|
|
|
|
logger.debug("Initializing ObjectService")
|
|
|
|
self._cache = {}
|
2018-05-18 20:41:41 +02:00
|
|
|
|
2018-06-17 20:51:23 +02:00
|
|
|
def get(self, iri, reload_cache=False):
|
|
|
|
logger.info(f"get actor {iri} (reload_cache={reload_cache})")
|
2018-05-29 21:36:05 +02:00
|
|
|
|
2018-06-17 20:51:23 +02:00
|
|
|
if not reload_cache and iri in self._cache:
|
|
|
|
return self._cache[iri]
|
2018-05-18 20:41:41 +02:00
|
|
|
|
2018-06-17 20:51:23 +02:00
|
|
|
obj = get_backend().fetch_iri(iri)
|
|
|
|
self._cache[iri] = obj
|
2018-05-18 20:41:41 +02:00
|
|
|
return obj
|