Re: defining module constants
Robert Bradshaw <[email protected]>
| Newsgroups | gmane.comp.python.pyrex |
|---|---|
| Message-ID | <[email protected]> |
On Apr 10, 2008, at 11:52 AM, Rob Shortt wrote: > Hello, > > I'm creating some python bindings to a C library. I've defined > everything from the lib's header file in my pxd file and would like to > expose many of the defined enums in my pyrex module, not as members > of a > class, but toplevel to my module. > > For example, in my pxd file I have stuff like: > > cdef extern from "directfb.h": > ctypedef enum DFBResult: > DFB_OK > DFB_FAILURE > DFB_INIT > DFB_BUG > > and so on... > > What can I add to my pyx file so that my resulting module will have > these, like: > > import directfb > print directfb.DFB_OK > > > Please don't tell me I have to redefine or reassign them all in my pyx > file, but some equvalent to PyModule_AddIntConstant(m, "DFB_OK", > DFB_OK) > would be ok. I don't know of an automated way to do this, but perhaps we could make it so an enum could be declared "public" and all its members exported to the surrounding module (though one probably doesn't want those symbols in everything that uses your .pxd file. One thing to note is that nothing prevents anyone from writing directfb.DFB_OK = 389 or even directfb.DFB_OK = "got you!" _______________________________________________ Pyrex mailing list [email protected] http://lists.copyleft.no/mailman/listinfo/pyrex
PGP.sig
(application/pgp-signature, 186 B) - not displayed