in azure/datalake/store/core.py [0:0]
def _acl_call(self, action, path, acl_spec=None, invalidate_cache=False):
"""
Helper method for ACL calls to reduce code repetition
Parameters
----------
action: str
The ACL action being executed. For example SETACL
path: str
The path the action is being executed on (file or folder)
acl_spec: str
The optional ACL specification to set on the path in the format
'[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,...'
Note that for remove acl entries the permission (rwx) portion is not required.
invalidate_cache: bool
optionally indicates that the cache of files should be invalidated after this operation
This should always be done for set and remove operations, since the state of the file or folder has changed.
"""
parms = {}
path = AzureDLPath(path).trim()
posix_path = path.as_posix()
if acl_spec:
parms['aclSpec'] = acl_spec
to_return = self.azure.call(action, posix_path, **parms)
if invalidate_cache:
self.invalidate_cache(posix_path)
return to_return