diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/dbus_bindings.pyx | 10 | ||||
| -rw-r--r-- | python/examples/example-service.py | 6 | ||||
| -rw-r--r-- | python/examples/gconf-proxy-service.py | 5 | ||||
| -rw-r--r-- | python/examples/gconf-proxy-service2.py | 5 | ||||
| -rw-r--r-- | python/tests/test-client.py | 100 | ||||
| -rw-r--r-- | python/tests/test-server.py | 17 | 
6 files changed, 15 insertions, 128 deletions
diff --git a/python/dbus_bindings.pyx b/python/dbus_bindings.pyx index fe6e7777..c693a3d0 100644 --- a/python/dbus_bindings.pyx +++ b/python/dbus_bindings.pyx @@ -457,13 +457,12 @@ cdef class Connection:              dbus_error_free (&error)              raise DBusException, errormsg -        if retval == NULL: -            raise AssertionError -         +        assert(retval != NULL) +          m = EmptyMessage()          m._set_msg(retval) -        return m  +        return m      def set_watch_functions(self, add_function, remove_function, data):          pass @@ -1048,6 +1047,9 @@ cdef class MessageIter:          elif sig_type == TYPE_OBJECT_PATH:              retval = self.append_object_path(value)          elif sig_type == STRUCT_BEGIN: +            if ord(sig[-1]) != STRUCT_END: +                raise TypeError, "Invalid struct entry in append_strict. No termination in signature %s." % (sig) +              tmp_sig = sig[1:-1]              retval = self.append_struct(value, signature = tmp_sig)          elif sig_type == TYPE_VARIANT: diff --git a/python/examples/example-service.py b/python/examples/example-service.py index ce871a1f..cb25d203 100644 --- a/python/examples/example-service.py +++ b/python/examples/example-service.py @@ -3,8 +3,7 @@  import dbus  import dbus.service  import dbus.glib -import pygtk -import gtk +import gobject  class SomeObject(dbus.service.Object):      def __init__(self, bus_name, object_path="/SomeObject"): @@ -27,4 +26,5 @@ session_bus = dbus.SessionBus()  name = dbus.service.BusName("org.designfu.SampleService", bus=session_bus)  object = SomeObject(name) -gtk.main() +mainloop = gobject.MainLoop() +mainloop.run() diff --git a/python/examples/gconf-proxy-service.py b/python/examples/gconf-proxy-service.py index b9bdef14..a899cf21 100644 --- a/python/examples/gconf-proxy-service.py +++ b/python/examples/gconf-proxy-service.py @@ -2,7 +2,7 @@  #FIXME: Doesn't work with the new bindings  import dbus -import gtk +import gobject  import gconf  class GConfService(dbus.Service): @@ -39,4 +39,5 @@ gconf_service = GConfService()  print ("GConf Proxy service started.")  print ("Run 'gconf-proxy-client.py' to fetch a GConf key through the proxy...") -gtk.main() +mainloop = gobject.MainLoop() +mainloop.run() diff --git a/python/examples/gconf-proxy-service2.py b/python/examples/gconf-proxy-service2.py index ba8d249b..5731ab28 100644 --- a/python/examples/gconf-proxy-service2.py +++ b/python/examples/gconf-proxy-service2.py @@ -2,7 +2,7 @@  #FIXME: doesn't work with the new bindings  import dbus -import gtk +import gobject  import gconf  class GConfService(dbus.Service): @@ -35,4 +35,5 @@ gconf_service = GConfService()  print ("GConf Proxy service started.")  print ("Run 'gconf-proxy-client.py' to fetch a GConf key through the proxy...") -gtk.main() +mainloop = gobject.MainLoop() +mainloop.run() diff --git a/python/tests/test-client.py b/python/tests/test-client.py deleted file mode 100644 index 5dc6e20c..00000000 --- a/python/tests/test-client.py +++ /dev/null @@ -1,100 +0,0 @@ -import dbus - -def ensure_same(expected, received): -    if type(received) != type(expected): -        raise Exception ("Sending %s, expected echo of type %s, but got %s" % (expected, type(expected), type(received))) - -    if received.__class__ != expected.__class__: -        raise Exception ("Sending %s, expected echo to be of class %s, but got %s" % (expected, expected.__class__, received.__class__)) - -    if received != expected: -        raise Exception("Sending %s, expected echo to be the same, but was %s" % (expected, received)) - -def TestEcho(value): -    global remote_object -    echoed = remote_object.Echo(value) -    ensure_same(value, echoed) - -def TestEchoList(sent_list): -    assert(type(sent_list) == list) - -    global remote_object - -    reply_list = remote_object.Echo(sent_list) - -    if type(reply_list) != list: -        raise Exception ("Sending list %s, expected echo to be a list, but it was %s" % (sent_list, type(reply_list))) - -    if len(reply_list) != len(sent_list): -        raise Exception ("Sending list %s, expected echo of length %d, but length was %d" % (len(sent_list), len(reply_list))) - -    for i in range(len(sent_list)): -        ensure_same(sent_list[i], reply_list[i]) - -def TestEchoDict(sent_dict): -    assert(type(sent_dict) == dict) - -    global remote_object -     -    reply_dict = remote_object.Echo(sent_dict) - - -    assert(type(reply_dict) == dict) - -    assert(len(reply_dict) == len(sent_dict)) - -    for key in sent_dict.keys(): -        ensure_same(reply_dict[key], sent_dict[key]) -     -session_bus = dbus.SessionBus() - -remote_service = session_bus.get_service("org.designfu.Test") -remote_object = remote_service.get_object("/TestObject", "org.designfu.Test") - -TestEcho(chr(120)) -TestEcho(10) -TestEcho(39.5) -TestEcho("HelloWorld") -TestEcho(dbus.ObjectPath("/test/path")) -TestEcho(dbus.ByteArray("blahblahblah")) - -string_list = [] -for i in range(200): -    string_list.append("List item " + str(i)) -TestEchoList(string_list) - -int_list = range(200) -TestEchoList(int_list) - -path_list = [] -for i in range(200): -    path_list.append(dbus.ObjectPath("/some/object/path" + str(i))) -TestEchoList(path_list) - -double_list = [] -for i in range(200): -    double_list.append(float(i) / 1000) -TestEchoList(double_list) - -#FIXME: this currently fails! -#empty_list = [] -#TestEchoList(empty_list) - -string_to_int_dict = {} -for i in range(200): -    string_to_int_dict["key" + str(i)] = i -TestEchoDict(string_to_int_dict) - -string_to_double_dict = {} -for i in range(200): -    string_to_double_dict["key" + str(i)] = float(i) / 1000 -TestEchoDict(string_to_double_dict) - -string_to_string_dict = {} -for i in range(200): -    string_to_string_dict["key" + str(i)] = "value" + str(i) -TestEchoDict(string_to_string_dict) - -#FIXME: this currently crashes dbus in c code -#empty_dict = {} -#TestEchoDict(empty_dict) diff --git a/python/tests/test-server.py b/python/tests/test-server.py deleted file mode 100644 index 235da701..00000000 --- a/python/tests/test-server.py +++ /dev/null @@ -1,17 +0,0 @@ -import dbus -import gtk - -class TestObject(dbus.Object): -    def __init__(self, service): -        method_list = [ self.Echo ] -        dbus.Object.__init__(self, "/TestObject", service, method_list) - -    def Echo(self, variable): -        return variable -             -session_bus = dbus.SessionBus() - -local_service = dbus.Service("org.designfu.Test", bus=session_bus) -local_object = TestObject(local_service) - -gtk.main()  | 
