2005-11-03 Robert McQueen <robot101@debian.org>
authorRobert McQueen <robot101@debian.org>
Thu, 3 Nov 2005 16:13:53 +0000 (16:13 +0000)
committerRobert McQueen <robot101@debian.org>
Thu, 3 Nov 2005 16:13:53 +0000 (16:13 +0000)
        * python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
        functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
        tweak others to be consistent.

        * test/python/test-client.py: Tweak output of testInheritance.

ChangeLog
python/_dbus.py
python/proxies.py
python/service.py
test/python/test-client.py

index e629546..07db9af 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-11-03  Robert McQueen  <robot101@debian.org>
+
+       * python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
+       functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
+       tweak others to be consistent.
+
+       * test/python/test-client.py: Tweak output of testInheritance.
+
 2005-10-29  Robert McQueen  <robot101@debian.org>
 
        * python/service.py: Major changes to allow multiple inheritance
index 2e7e671..bb4c042 100644 (file)
@@ -68,6 +68,7 @@ class Bus:
     START_REPLY_ALREADY_RUNNING = dbus_bindings.DBUS_START_REPLY_ALREADY_RUNNING 
 
     def __init__(self, bus_type=TYPE_SESSION, use_default_mainloop=True, private=False):
+        self._bus_type = bus_type
         self._connection = dbus_bindings.bus_get(bus_type, private)
 
         self._connection.add_filter(self._signal_func)
@@ -196,6 +197,19 @@ class Bus:
     def start_service_by_name(self, named_service):
         return dbus_bindings.bus_start_service_by_name(self._connection, named_service)
 
+    def __repr__(self):
+        if self._bus_type == self.TYPE_SESSION:
+            name = 'SESSION'
+        elif self._bus_type == self.TYPE_SYSTEM:
+            name = 'SYSTEM'
+        elif self._bus_type == self.TYPE_STARTER:
+            name = 'STARTER'
+        else:
+            assert False, 'Unable to represent unknown bus type.'
+
+        return '<dbus.Bus on %s at %#x>' % (name, id(self))
+    __str__ = __repr__
+
 class SystemBus(Bus):
     """The system-wide message bus
     """
@@ -246,6 +260,6 @@ class Interface:
             return ret
 
     def __repr__(self):
-        return '<Interface %r implementing %r at %x>'%(
+        return '<Interface %r implementing %r at %#x>'%(
         self._obj, self._dbus_interface, id(self))
     __str__ = __repr__
index f1f3394..d13b72b 100644 (file)
@@ -222,7 +222,7 @@ class ProxyObject:
             return ret
 
     def __repr__(self):
-        return '<ProxyObject wrapping %s %s %s at %x>'%( 
+        return '<ProxyObject wrapping %s %s %s at %#x>'%(
             self._bus, self._named_service, self._object_path , id(self))
     __str__ = __repr__
 
index 3809ca5..de68b61 100644 (file)
@@ -28,6 +28,10 @@ class BusName:
         """Get the name of this service"""
         return self._named_service
 
+    def __repr__(self):
+        return '<dbus.service.BusName %s on %r at %#x>' % (self._named_service, self._bus, id(self))
+    __str__ = __repr__
+
 def _dispatch_dbus_method_call(self, argument_list, message):
     """Calls method_to_call using argument_list, but handles
     exceptions, etc, and generates a reply to the DBus Message message
@@ -280,3 +284,6 @@ class Object(Interface):
 
         return reflection_data
 
+    def __repr__(self):
+        return '<dbus.service.Object %s on %r at %#x>' % (self._object_path, self._name, id(self))
+    __str__ = __repr__
index e84afcd..cb753fb 100755 (executable)
@@ -147,7 +147,7 @@ class TestDBusBindings(unittest.TestCase):
     def testInheritance(self):
         print "\n********* Testing inheritance from dbus.method.Interface ***********"
         ret = self.iface.CheckInheritance()
-        print "CheckInheritance returned %s\n", str(ret)
+        print "CheckInheritance returned %s" % ret
         self.assert_(ret, "overriding CheckInheritance from TestInterface failed")
 
 class TestDBusPythonToGLibBindings(unittest.TestCase):