def ApprovalRevokeRaw(aff4_path, token, remove_from_cache=False):
 try:
  urn = rdf_client.ClientURN(aff4_path)
 except type_info.TypeValueError:
  urn = rdfvalue.RDFURN(aff4_path)
 approval_urn = aff4.ROOT_URN.Add('ACL').Add(urn.Path()).Add(token.username).Add(utils.EncodeReasonString(token.reason))
 super_token = access_control.ACLToken(username='raw-approval-superuser')
 super_token.supervisor = True
 approval_request = aff4.FACTORY.Open(approval_urn, mode='rw', token=super_token)
 approval_request.DeleteAttribute(approval_request.Schema.APPROVER)
 approval_request.Close()
 if remove_from_cache:
  data_store.DB.security_manager.acl_cache.ExpireObject(utils.SmartUnicode(approval_urn))

def ApprovalRevokeRaw ( aff4_path , token , remove_from_cache = False ) : try : urn = rdf_client . ClientURN ( aff4_path ) except type_info . TypeValueError : urn = rdfvalue . RDFURN ( aff4_path ) approval_urn = aff4 . ROOT_URN . Add ( 'ACL' ) . Add ( urn . Path ( ) ) . Add ( token . username ) . Add ( utils . EncodeReasonString ( token . reason ) ) super_token = access_control . ACLToken ( username = 'raw-approval-superuser' ) super_token . supervisor = True approval_request = aff4 . FACTORY . Open ( approval_urn , mode = 'rw' , token = super_token ) approval_request . DeleteAttribute ( approval_request . Schema . APPROVER ) approval_request . Close ( ) if remove_from_cache : data_store . DB . security_manager . acl_cache . ExpireObject ( utils . SmartUnicode ( approval_urn ) )
revokes an approval for a given token .