File tree Expand file tree Collapse file tree 2 files changed +9
-6
lines changed
Expand file tree Collapse file tree 2 files changed +9
-6
lines changed Original file line number Diff line number Diff 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 (
Original file line number Diff line number Diff 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 ,
You can’t perform that action at this time.
0 commit comments