Python API : constant variables & sub module creation

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • mg

    #1

    Python API : constant variables & sub module creation

    Hi everybody...

    I am using Python API in order to create bindings.
    So, in the init function of my module, I create constants :

    PyMODINIT_FUNC initMyModule( void )
    {
    PyObject* module = Py_InitModule3( "MyModule", 0, "this is my
    module" ) ;
    if( ! module ) return ;

    PyObject* dict = PyModule_GetDic t( module ) ;
    if( ! dict ) return ;

    long value = 0 ; // for the example
    PyObject* py_value = PyInt_FromLong( value ) ;
    char* name = "NULL" ;
    PyDict_SetItemS tring( dict, name, py_value ) ;
    Py_DECREF( py_value ) ;
    }

    So, my first "problem" is that my module variable is mutable; I can
    write the following instruction in python :
    [color=blue][color=green][color=darkred]
    >>> import MyModule
    >>> null = MyModule.NULL
    >>> print null[/color][/color][/color]
    0[color=blue][color=green][color=darkred]
    >>> MyModule.NULL = 99
    >>> null = MyModule.NULL
    >>> print null[/color][/color][/color]
    99

    Then, my question is : how can I implement a constant variable from the
    API ?

    My second problem is that I would like implement my NULL variable in a
    sub module of my module in order to write the follow python syntax :
    [color=blue][color=green][color=darkred]
    >>> import MyModule
    >>> null = MyModule.MySubM odule.NULL
    >>> print null[/color][/color][/color]
    0

    Then, my question is : how can I do it ?

    Thanks a lot,
    Mathieu
Working...