def observable__getattribute__(f):
""" decoratore per Observable.__getattribute__"""
# https://bugs.python.org/issue3445
# from functools import wraps
# @wraps(f)
def wrapper(*args, **kwargs):
instance, attribute = args[:2]
result = f(*args, **kwargs)
if attribute == '_Observable__observers' and result is None:
result = weakref.WeakValueDictionary()
setattr(instance, '_Observable__observers', result)
return result
return wrapper
评论列表
文章目录