def __getitem__(self, cls): if issubclass(cls, trac.env.Environment): return self.parent elif cls is self.__class__: return self else: return ComponentManager.__getitem__(self, cls)