summaryrefslogtreecommitdiff
path: root/acl.py
diff options
context:
space:
mode:
Diffstat (limited to 'acl.py')
-rw-r--r--acl.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/acl.py b/acl.py
index f810b41..2b34767 100644
--- a/acl.py
+++ b/acl.py
@@ -7,6 +7,8 @@ import logging
import re
from typing import Any, Callable, List, Optional, Set, Sequence
+from overrides import overrides
+
# This module is commonly used by others in here and should avoid
# taking any unnecessary dependencies back on them.
@@ -93,11 +95,13 @@ class SetBasedACL(SimpleACL):
self.allow_set = allow_set
self.deny_set = deny_set
+ @overrides
def check_allowed(self, x: Any) -> bool:
if self.allow_set is None:
return False
return x in self.allow_set
+ @overrides
def check_denied(self, x: Any) -> bool:
if self.deny_set is None:
return False
@@ -158,11 +162,13 @@ class PredicateListBasedACL(SimpleACL):
self.allow_predicate_list = allow_predicate_list
self.deny_predicate_list = deny_predicate_list
+ @overrides
def check_allowed(self, x: Any) -> bool:
if self.allow_predicate_list is None:
return False
return any(predicate(x) for predicate in self.allow_predicate_list)
+ @overrides
def check_denied(self, x: Any) -> bool:
if self.deny_predicate_list is None:
return False
@@ -242,11 +248,13 @@ class AnyCompoundACL(SimpleACL):
)
self.subacls = subacls
+ @overrides
def check_allowed(self, x: Any) -> bool:
if self.subacls is None:
return False
return any(acl(x) for acl in self.subacls)
+ @overrides
def check_denied(self, x: Any) -> bool:
if self.subacls is None:
return False
@@ -266,11 +274,13 @@ class AllCompoundACL(SimpleACL):
)
self.subacls = subacls
+ @overrides
def check_allowed(self, x: Any) -> bool:
if self.subacls is None:
return False
return all(acl(x) for acl in self.subacls)
+ @overrides
def check_denied(self, x: Any) -> bool:
if self.subacls is None:
return False