Приветсвую!
- - -
Мне нужен объект для трассировки вызовов.
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.
Имена методов / параметров и их количество могут быть разными, мне важно понять как определить последний метод / параметр в строке.
- - -
ПС: Может можно из объекта увидеть строку кода в которой к этому объекту обращаются?
Спасибо:)