def __delitem__(self, id): if not IMutableCollection.providedBy(self): raise NotImplementedError try: index = self.__ids.index(id) self.__ids.remove(id) del self.__components[index] except ValueError: raise KeyError(id)
def set(self, id, value): if not IMutableCollection.providedBy(self): raise NotImplementedError if not self.type.providedBy(value): raise TypeError(value) try: self.__components[self.__ids.index(id)] = value except ValueError: raise KeyError(id)