Changeset 16732

Show
Ignore:
Timestamp:
06/27/08 13:25:06 (4 months ago)
Author:
piotras
Message:

Throw/Catch exception if open fails

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midgard/apis/python/py_midgard_connection.c

    r16687 r16732  
    8686                return NULL; 
    8787 
     88 
     89        GError *error = NULL; 
     90 
    8891        gboolean connected =  
    8992                midgard_connection_open( 
    9093                                MIDGARD_CONNECTION(self->obj), 
    91                                 (const gchar *)name); 
     94                                (const gchar *)name, &error); 
    9295        if(connected) 
    9396                Py_RETURN_TRUE; 
    9497         
    95         Py_RETURN_FALSE; 
     98        if(error) { 
     99                 
     100                PyErr_SetString(PyExc_SystemError, error->message); 
     101                g_error_free(error); 
     102                 
     103                return NULL; 
     104        } 
     105 
     106        PyErr_SetString(PyExc_SystemError, "Unhandled midgard exception. FIXME!"); 
     107        return NULL; 
    96108} 
    97109 
  • trunk/midgard/apis/python/tests/midgard_connection.py

    r14336 r16732  
    1 import midgard 
     1import _midgard as midgard 
     2import sys 
    23 
    34class my_connection (midgard.connection): 
     
    67                                 
    78        def connect(self): 
    8                 c = self.open('midgard') 
     9                c = self.open('midgardm') 
    910                return c 
    1011                 
    1112cnc = my_connection() 
    12 c = cnc.connect() 
     13 
     14try: 
     15        c = cnc.connect() 
     16except SystemError, msg: 
     17        print msg 
     18        sys.exit(1) 
    1319 
    1420if c == False: