From: moerchendiser2k3 on
Hi,

I have a reference to a function and would like to know how to extract
information from a function object.

Information I am looking for: line and file where this function is
from.

PyObject_Call can do this to when I call a function object and
something failed so these information are written to the traceback. So
any suggestions how to do that?

Thx!! moerchendiser2k3
From: Gabriel Genellina on
En Wed, 24 Mar 2010 12:09:27 -0300, moerchendiser2k3
<googler.1.webmaster(a)spamgourmet.com> escribi�:

> I have a reference to a function and would like to know how to extract
> information from a function object.
>
> Information I am looking for: line and file where this function is
> from.
>
> PyObject_Call can do this to when I call a function object and
> something failed so these information are written to the traceback. So
> any suggestions how to do that?

See the Language Reference; the associated code object holds the file and
starting line the function comes from.
The traceback object contains better information (like the line being
executed instead of the first one). Why don't you use it instead?

--
Gabriel Genellina

From: Stefan Behnel on
Gabriel Genellina, 24.03.2010 17:49:
> En Wed, 24 Mar 2010 12:09:27 -0300, moerchendiser2k3 escribi�:
>
>> I have a reference to a function and would like to know how to extract
>> information from a function object.
>>
>> Information I am looking for: line and file where this function is
>> from.
>>
>> PyObject_Call can do this to when I call a function object and
>> something failed so these information are written to the traceback. So
>> any suggestions how to do that?
>
> See the Language Reference; the associated code object holds the file
> and starting line the function comes from.
> The traceback object contains better information (like the line being
> executed instead of the first one). Why don't you use it instead?

Note that this was a follow-up to another recent thread where I managed to
extract the details from the OP by stoically asking back, especially the
information that this is not about exception handling but rather about
reporting incorrect return values.

This is a good example when you need a reason why not to split threads on
the same subject...

Stefan