Changeset 14336

Show
Ignore:
Timestamp:
01/09/08 17:17:57 (1 year ago)
Author:
piotras
Message:

midgard2 module renamed to midgard
Added 'mgdschema' and 'db' modules.
Classes are registered in particular module context

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midgard/apis/python/Makefile.am

    r13916 r14336  
    66pymidgarddir = $(pyexecdir) 
    77 
    8 pymidgard_DATA = midgard2.py 
    9 pkglib_LTLIBRARIES = midgard2.la 
     8pymidgard_DATA = midgard.py 
     9pkglib_LTLIBRARIES = _midgard.la 
    1010 
    11 midgard2_la_SOURCES = \ 
     11_midgard_la_SOURCES = \ 
    1212        midgardmodule.c \ 
    1313        py_midgard_dbobject.c \ 
     
    2424        py_midgard_user.c 
    2525 
    26 midgard2_la_LDFLAGS = -module 
     26_midgard_la_LDFLAGS = -module 
    2727 
    2828EXTRA_DIST = debian 
  • trunk/midgard/apis/python/midgard2.py

    r13434 r14336  
    44except: 
    55        pass 
     6 
     7 
     8try: 
     9        import _midgard2 
     10except: 
     11        pass 
  • trunk/midgard/apis/python/midgardmodule.c

    r14068 r14336  
    3030static MidgardSchema *midgard_global_schema = NULL; 
    3131 
    32 extern void initmidgard2(void) 
    33 { 
    34         py_midgard_init(); 
    35 } 
    36  
    3732guint global_loghandler; 
    3833 
     
    6055        } 
    6156 
    62         py_midgard_dbobject_register_class(d, &PyGObject_Type); 
    63         py_midgard_object_register_class(d, &Pymidgard_dbobject_Type); 
    6457        py_midgard_config_register_class(d, &PyGObject_Type); 
    6558        py_midgard_connection_register_class(d, &PyGObject_Type); 
     
    6861        py_midgard_reflection_property_register_class(d, &PyGObject_Type); 
    6962        py_midgard_replicator_register_class(d, &PyGObject_Type); 
     63 
     64        py_midgard_object_class_register_class(d, &PyGObject_Type); 
     65 
     66        py_midgard_collector_register_class(d, &Pymidgard_qb_Type); 
     67} 
     68 
     69void 
     70py_midgard_register_schema_classes(PyObject *d) 
     71{ 
     72        PyObject *module; 
     73         
     74        if ((module = PyImport_ImportModule("gobject")) != NULL) { 
     75                 
     76                _PyGObject_Type = (PyTypeObject *)PyObject_GetAttrString(module, "GObject"); 
     77                 
     78                if (_PyGObject_Type == NULL) { 
     79                         
     80                        PyErr_SetString(PyExc_ImportError, 
     81                                        "cannot import name GObject from gobject"); 
     82                        return ; 
     83                } 
     84         
     85        } else { 
     86                 
     87                PyErr_SetString(PyExc_ImportError, "could not import gobject"); 
     88                 
     89                return ; 
     90        } 
     91 
     92        py_midgard_object_register_class(d, &PyGObject_Type); 
     93} 
     94 
     95void 
     96py_midgard_register_db_classes(PyObject *d) 
     97{ 
     98        PyObject *module; 
     99         
     100        if ((module = PyImport_ImportModule("gobject")) != NULL) { 
     101                 
     102                _PyGObject_Type = (PyTypeObject *)PyObject_GetAttrString(module, "GObject"); 
     103                 
     104                if (_PyGObject_Type == NULL) { 
     105                         
     106                        PyErr_SetString(PyExc_ImportError, 
     107                                        "cannot import name GObject from gobject"); 
     108                        return ; 
     109                } 
     110         
     111        } else { 
     112                 
     113                PyErr_SetString(PyExc_ImportError, "could not import gobject"); 
     114                 
     115                return ; 
     116        } 
     117         
     118        py_midgard_dbobject_register_class(d, &PyGObject_Type); 
    70119        py_midgard_user_register_class(d, &PyGObject_Type); 
    71  
    72         py_midgard_object_class_register_class(d, &PyGObject_Type); 
    73  
    74         py_midgard_collector_register_class(d, &Pymidgard_qb_Type); 
    75  
    76120} 
    77121 
     
    133177 
    134178DL_EXPORT(void) 
    135 py_midgard_init(void) 
    136 { 
    137         PyObject *m, *d, *tuple, *o
     179init_midgard(void) 
     180{ 
     181        PyObject *m, *d, *tuple, *o, *sm, *dm
    138182 
    139183        /* initialise pygobject */ 
     
    157201        } 
    158202 
    159         m = Py_InitModule("midgard2", (PyMethodDef*)py_midgard_functions); 
     203        m = Py_InitModule("_midgard", (PyMethodDef*)py_midgard_functions); 
    160204         
    161205        if(!m) g_warning("InitModule FAILED"); 
     
    175219        py_midgard_define_constants(m); 
    176220        py_midgard_register_classes(d); 
     221 
     222        /* Core DB objects */ 
     223        dm = Py_InitModule("__db__", NULL); 
     224        d = PyModule_GetDict(dm); 
     225        PyModule_AddObject(m, "db", dm); 
     226        py_midgard_register_db_classes(d); 
     227 
     228        /* Mgdschema module */ 
     229        sm = Py_InitModule("__mgdschema__", NULL); 
     230        d = PyModule_GetDict(sm); 
     231        PyModule_AddObject(m, "mgdschema", sm); 
     232        py_midgard_register_schema_classes(d); 
     233         
     234        /* Globals */ 
    177235 
    178236        /* Set null connection "superglobal" */ 
  • trunk/midgard/apis/python/tests/midgard_collector.py

    r13669 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22import midgard_config 
    33 
  • trunk/midgard/apis/python/tests/midgard_config.py

    r13459 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22 
    33class my_config(midgard.config): 
  • trunk/midgard/apis/python/tests/midgard_connection.py

    r13469 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22 
    33class my_connection (midgard.connection): 
  • trunk/midgard/apis/python/tests/midgard_object_class.py

    r13770 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22import midgard_config 
    33 
  • trunk/midgard/apis/python/tests/midgard_object_parameter.py

    r13770 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22import midgard_config 
    33 
  • trunk/midgard/apis/python/tests/midgard_objects.py

    r13707 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22import midgard_config 
    33import random 
  • trunk/midgard/apis/python/tests/midgard_query_builder.py

    r13515 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22import midgard_config 
    33 
  • trunk/midgard/apis/python/tests/midgard_reflection_property.py

    r13707 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22 
    33mrp = midgard.reflection_property("midgard_article") 
  • trunk/midgard/apis/python/tests/midgard_user.py

    r14069 r14336  
    1 import midgard2 as midgard 
     1import midgard 
    22import midgard_config 
    33