def __getattr__(self, name):
# if we are proxy to a ComponentData
# object, we need to make sure NOT to
# invoke its deepcopy method
if name == "__deepcopy__":
raise AttributeError
if name in Alias.__slots__:
# should never happen
assert False
if name in Alias._component_slots:
return super(Alias, self).__dict__[name].__get__(self)
if self.aliased_object is None:
raise weakref.ReferenceError("Proxy is no longer valid")
return getattr(self.aliased_object, name)
#
# __setattr__ and __delattr__ will always be invoked
#
评论列表
文章目录