def force_load(resource): "Force the loading the of resource from the database" from sqlalchemy.orm import Query from bq.data_service.model import Taggable if isinstance(resource, tuple): parent = getattr(tg.request.bisque, 'parent', None) #log.debug ("invalidate: tuple using %s", parent) #provokes logging error if parent: resource = parent #log.debug ("CACHE parent %s", parent) else: # The a pure form i.e. /data_service/[image] with a POST if resource[0] == 'resource': # special case for POST to /data_service.. resource type is unknown so remove all resource = ('', resource[1]) resource = Bunch(resource_uniq=None, resource_type=resource[0], permission="published") if isinstance(resource, Query): resource = resource.first() #pylint: disable=no-member if isinstance(resource, Taggable): resource = resource.document #pylint: disable=no-member return resource