+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
+