From f468664b722811a2a404cc67a0fcab0ef7b64e79 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Jolliton?= Date: Fri, 27 Oct 2006 12:56:43 +0000 Subject: [PATCH] Added acl.EffectiveAclBy{Id,Name} classes. --- rsbac/acl.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rsbac/acl.py b/rsbac/acl.py index e5ec318..d1a8d5c 100644 --- a/rsbac/acl.py +++ b/rsbac/acl.py @@ -423,6 +423,24 @@ class AclByName( AclBase ) : def clear( self ) : removeAclByName( self.target ) +class EffectiveAclById( AclBase ) : + __slots__ = () + def _list( self ) : + return getAclTargetListById( self.target ) + def __iter__( self ) : + return ( n[ 0 ] for n in self.__list() ) + def __getitem__( self , subject ) : + return getAclRightsById( self.target , subject , True ) , False + +class EffectiveAclByName( AclBase ) : + __slots__ = () + def _list( self ) : + return getAclTargetListByName( self.target ) + def __iter__( self ) : + return ( n[ 0 ] for n in self.__list() ) + def __getitem__( self , subject ) : + return getAclRightsByName( self.target , subject , True ) , False + #--[ Group ]------------------------------------------------------------------ @export -- 2.20.1