Server : Apache System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 User : nobody ( 99) PHP Version : 8.1.23 Disable Function : NONE Directory : /lib64/python2.7/idlelib/ |
class Delegator: # The cache is only used to be able to change delegates! def __init__(self, delegate=None): self.delegate = delegate self.__cache = {} def __getattr__(self, name): attr = getattr(self.delegate, name) # May raise AttributeError setattr(self, name, attr) self.__cache[name] = attr return attr def resetcache(self): for key in self.__cache.keys(): try: delattr(self, key) except AttributeError: pass self.__cache.clear() def cachereport(self): keys = self.__cache.keys() keys.sort() print keys def setdelegate(self, delegate): self.resetcache() self.delegate = delegate def getdelegate(self): return self.delegate