Skip to content

Commit 45a0af9

Browse files
author
Mathias BIGAIGNON
committed
Fix policy creation issues
1 parent c5110be commit 45a0af9

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

entitled/policies.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ def wrapped(func: RuleProtocol[T]):
4040
return wrapped
4141

4242
def __register(self, action: str, *rules: Rule[T]):
43-
if action in self._registry:
44-
self._registry[action].append(*rules)
45-
else:
43+
if action not in self._registry:
4644
self._registry[action] = [*rules]
4745

4846
def grants(

entitled/rules.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,16 @@ def get_rule(cls, name: str) -> "Rule[Resource] | None":
4444
return Rule._registry[name] if name in Rule._registry else None
4545

4646
def __init__(self, name: str, rule_function: RuleProtocol[Resource]):
47-
if name in Rule._registry:
48-
raise ValueError(f"A rule identified by '{name}' already exists.")
4947
self.name = name
5048
self.rule = rule_function
51-
Rule._registry[name] = self
49+
self.__register()
50+
51+
def __register(self) -> None:
52+
if self.name in Rule._registry:
53+
print(f"A rule identified by '{self.name}' already exists.")
54+
return
55+
56+
Rule._registry[self.name] = self
5257

5358
def __call__(
5459
self,

0 commit comments

Comments
 (0)