Say I have a class like this:
class Wrapper(object):
def __init__(self, obj):
self.__obj = obj
def __getattr__(self, name):
logger.debug('Accessing %s', name)
return getattr(self.__obj, name)
Elsewhere in the codebase are generic functions using the @singledispatch decorator. I'd like for "wrapped" instances to act like they were never wrapped. So for example, pprint(Wrapper({}))
will operate like pprint({})
How can I accomplish this?