def __call__( self, request ): Object = self.model.use( self.__object__ ) response = [] for id in request.ids: obj = self.fetch( Object, id ) # WARNING: This is only for testing purposes! Model.refresh( obj ) if obj: if self.authorize( obj ): response.append( self.process( request, obj ) ) else: debug( "No permission for %s with id %s.", Object.__origname__, id ) response.append( self.Fail( request, "PermissionDenied", "You cannot access %s with id = %d." % ( Object.__origname__, id ) ) ) else: debug( "No such %s with id %s.", Object.__origname__, id ) response.append( self.Fail( request, "NoSuchThing", "No %s with id = %d." % ( Object.__origname__, id ) ) ) if len( response ) > 1: response.insert( 0, self.Sequence( request, len( response ) ) ) if not len( response ): response.append( self.Fail( request, "Protocol", "List of IDs must be nonempty!" ) ) return response