def get_object_metadata(obj, **kw): """Get object metadata :param obj: Content object :returns: Dictionary of extracted object metadata """ # inject metadata of volatile data metadata = { "actor": get_user_id(), "roles": get_roles(), "action": "", "review_state": api.get_review_status(obj), "active": api.is_active(obj), "snapshot_created": DateTime().ISO(), "modified": api.get_modification_date(obj).ISO(), "remote_address": "", "user_agent": "", "referer": "", "comments": "", } # Update request data metadata.update(get_request_data()) # allow metadata overrides metadata.update(kw) return metadata
def _objectdata_cache_key(func, obj): """Cache Key for object data """ uid = api.get_uid(obj) modified = api.get_modification_date(obj).millis() review_state = api.get_review_status(obj) return "{}-{}-{}".format(uid, review_state, modified)
def icon_cache_key(method, self, brain_or_object): """Generates a cache key for the icon lookup Includes the virtual URL to handle multiple HTTP/HTTPS domains Example: http://senaite.local/clients?modified=1512033263370 """ url = api.get_url(brain_or_object) modified = api.get_modification_date(brain_or_object).millis() key = "{}?modified={}".format(url, modified) logger.debug("Generated Cache Key: {}".format(key)) return key
def _uid_to_title_cache_key(func, uid): brain = api.get_brain_by_uid(uid, default=None) if brain is None: raise DontCache modified = api.get_modification_date(brain).millis() return "{}-{}".format(uid, modified)
def modified_cache_key(method, self, brain_or_object): """A cache key that returns the millis of the last modification time """ return api.get_modification_date(brain_or_object).millis()