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