[implement python code in C] can't set attributes of built-in/extension type
Michael Hudson
mwh at python.net
Fri Sep 17 08:43:56 EDT 2004
Andrew Degtiariov <ad at astral-on.net> writes:
> Hello!
> I tried to rewrite my python module in C.
Are you targetting Python 2.2 or later?
> My module is successfully imported but i can't assing anything to
> class attributes (tp_setattr in PyTypeObject for class FlowReportRow
> filled up by pointer to FlowReportRowObjectSetAttr function and
> printf in ones show the function does not called) Where I was
> mistaken? (you may see the module sources at
> http://astral.ua/~ad/Report.c)
Argh! You're making life very tedious for yourself...
Do you know what you can do with the tp_members and tp_getsets field
of the type object? I think a C macro expanding to a couple getset
defintions would make your code more pleasant.
I think implementing tp_getattro and not tp_getattr will solve your
immediate problem.
Cheers,
mwh
--
MAN: How can I tell that the past isn't a fiction designed to
account for the discrepancy between my immediate physical
sensations and my state of mind?
-- The Hitch-Hikers Guide to the Galaxy, Episode 12
More information about the Python-list
mailing list