code: def do_set_acls(self, params):
          
          try:
              acls = ACLReader.extract(shlex.split(params.acls))
          except ACLReader.BadACL as ex:
              self.show_output("Failed to set ACLs: %s.", ex)
              return
  
          def set_acls(path):
              try:
                  self._zk.set_acls(path, acls)
              except (NoNodeError, BadVersionError, InvalidACLError, ZookeeperError) as ex:
                  self.show_output("Failed to set ACLs: %s. Error: %s", str(acls), str(ex))
  
          if params.recursive:
              for cpath, _ in self._zk.tree(params.path, 0, full_path=True):
                  set_acls(cpath)
  
          set_acls(params.path)
docs: \x1b[1mNAME\x1b[0m
          set_acls - Sets ACLs for a given path
  
  \x1b[1mSYNOPSIS\x1b[0m
          set_acls <path> <acls> [recursive]
  
  \x1b[1mOPTIONS\x1b[0m
          * recursive: recursively set the acls on the children
  
  \x1b[1mEXAMPLES\x1b[0m
          > set_acls /some/path 'world:anyone:r digest:user:aRxISyaKnTP2+OZ9OmQLkq04bvo=:cdrwa'
          > set_acls /some/path 'world:anyone:r username_password:user:p@ass0rd:cdrwa'
          > set_acls /path 'world:anyone:r' true