[Pyrex] Pyrex and None types
John (J5) Palmieri
johnp at redhat.com
Tue Apr 19 00:38:04 CEST 2005
Ignore this. It was my fault. The code works fine.
On Mon, 2005-04-18 at 17:56 -0400, John (J5) Palmieri wrote:
> I am having a problem with this code:
>
> cdef class Message:
> cdef DBusMessage *msg
>
> def __init__(self, message_type=MESSAGE_TYPE_INVALID,
> service=None, path=None, dbus_interface=None, method=None,
> Message method_call=None,
> name=None,
> Message reply_to=None, error_name=None, error_message=None,
> _create=1):
>
> cdef char *cservice
> cdef char *ciface
> cdef DBusMessage *cmsg
>
> ciface = NULL
> if (dbus_interface != None):
> ciface = interface
>
> cservice = NULL
> if service != None:
> cservice = service
>
> if not _create:
> return
>
> if message_type == MESSAGE_TYPE_METHOD_CALL:
> self.msg = dbus_message_new_method_call(cservice, path, ciface, method)
> elif message_type == MESSAGE_TYPE_METHOD_RETURN:
> cmsg = method_call._get_msg()
> self.msg = dbus_message_new_method_return(cmsg)
> elif message_type == MESSAGE_TYPE_SIGNAL:
> self.msg = dbus_message_new_signal(path, ciface, name)
> elif message_type == MESSAGE_TYPE_ERROR:
> cmsg = reply_to._get_msg()
> self.msg = dbus_message_new_error(cmsg, error_name, error_message)
>
>
> It compiles file but I get this error message at runtime:
>
>
> Traceback (most recent call last):
> File "test.py", line 6, in ?
> obj.ListNames()
> File "/home/boston/johnp/Devel/dbus/python/dbus.py", line 258, in
> __call__
> message = dbus_bindings.MethodCall(self._object_path,
> self._interface, self._method_name)
> File "dbus_bindings.pyx", line 1365, in
> dbus_bindings.MethodCall.__init__
> def has_sender(self, service):
> File "dbus_bindings.pyx", line 1187, in dbus_bindings.Message.__init__
> Message method_call,
> TypeError: expected string or Unicode object, NoneType found
>
> Any ideas how to fix this? It works fine if I set the dbus_interface to
> some string. It only fails if it equals None. Thanks.
>
--
John (J5) Palmieri
Associate Software Engineer
Desktop Group
Red Hat, Inc.
Blog: http://martianrock.com
More information about the Pyrex
mailing list