Как сделать объекты-оболочки совместимыми с @singledispatch? - PullRequest
1 голос
/ 15 мая 2019

Скажем, у меня есть такой класс:

class Wrapper(object):
    def __init__(self, obj):
        self.__obj = obj

    def __getattr__(self, name):
        logger.debug('Accessing %s', name)
        return getattr(self.__obj, name)

В другом месте кодовой базы находятся универсальные функции, использующие декоратор @singledispatch . Я бы хотел, чтобы «завернутые» экземпляры действовали так, как будто они никогда не были упакованы. Так, например, pprint(Wrapper({})) будет работать как pprint({})

Как мне это сделать?

...