from .providers import providers def add_acl_to_obj(user_acl, obj): """add valid ACL to obj (iterable of objects or single object)""" if hasattr(obj, '__iter__'): for item in obj: _add_acl_to_obj(user_acl, item) else: _add_acl_to_obj(user_acl, obj) def _add_acl_to_obj(user_acl, obj): """add valid ACL to single obj, helper for add_acl function""" obj.acl = {} for annotator in providers.get_obj_type_annotators(obj): annotator(user_acl, obj)