def revoke(self, paths: Union[str, Iterable[str]], users: Union[str, Iterable[str], User, Iterable[User]]):
        if isinstance(paths, str):
            paths = [paths]
        if isinstance(users, str) or isinstance(users, User):
            users = [users]

        for i in range(len(users)):
            if not isinstance(users[i], User):
                assert isinstance(users[i], str)
                user = User.create_from_str(users[i])
                users[i] = user

        no_access_controls = [AccessControl(users, AccessControl.Level.NONE) for users in users]
        self.add_or_replace(paths, no_access_controls)
예제 #2
0
 def test_create_from_str(self):
     user = User.create_from_str("%s#%s" % (_NAME, _ZONE))
     self.assertEqual(user, User(_NAME, _ZONE))