def make_acls(self, specs, encoded=False):
        if not specs:
            return specs

        result = []
        for spec in specs:
            spec = spec.copy()
            if not isinstance(spec['perms'], int):
                spec['perms'] = reduce(operator.or_, [getattr(zookeeper, 'PERM_' + perm.upper()) for perm in spec['perms']])

            if spec['scheme'] == 'digest' and not encoded:
                spec['id'] = self.get_identity_for_digest(spec['id'])

            result.append(spec)

        return result
Makes ZooKeeper-ACLs from ACL specifications.
dataset/ETHPy150Open foundit/Piped/contrib/zookeeper/piped_zookeeper/providers.py/PipedZookeeperClient.make_acls