def __delattr__(self, name): cls = getattr(self, name) Registry.__delattr__(self, name) # The same class could have different names, so make sure # it's really gone from C before removing it from all_classes. if cls not in self.__class__.__dict__.itervalues(): all_classes.remove(cls)
def __setattr__(self, name, cls): Registry.__setattr__(self, name, cls) all_classes.add(cls)