@wtfedor
Предприниматель, python разработчик.

Как определить положение метода в цепочке вызовов?

Приветсвую!
- - -
Мне нужен объект для трассировки вызовов.
class MyTracerClass:
    def __init__(self):
        self._trace = []

    def __getattr__(self, item):
        # как вот здесь определить, что дальше ничего не вызывается?
        self._trace.append(item)
        return self


tracer = MyTracerClass()
tracer.aaa.bbb.xxx

Как изнутри объекта tracer понять, что после методов / параметров aaa, bbb что-то вызывалось, а вот xxx был последним в цепочке? Не вызывая больше никаких дополнительных методов после xxx.
Имена методов / параметров и их количество могут быть разными, мне важно понять как определить последний метод / параметр в строке.
- - -
ПС: Может можно из объекта увидеть строку кода в которой к этому объекту обращаются?
Спасибо:)
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы