old_contents: 
  """
  Example of how to discover exisiting Telepathy connections on the bus, and be
  notified when connections appear and disappear.
  """
  
  import dbus
  import dbus.glib
  import gobject
  
  from telepathy.interfaces import CONN_INTERFACE
  from telepathy.client import Connection
  
  conn_prefix = 'org.freedesktop.Telepathy.Connection.'
  connection_status = ['Connected', 'Connecting', 'Disconnected']
  
  class Watcher:
      def __init__(self, bus):
          self.bus = bus
          connections = Connection.get_connections()
  
          for conn in connections:
              self._watch_conn(conn)
              status = connection_status[conn[CONN_INTERFACE].GetStatus()]
              print 'found connection: %s (%s)' % (name, status)
  
          dbus = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
          dbus.connect_to_signal('NameOwnerChanged', self._name_owner_changed_cb)
  
      def _watch_conn(self, conn):
          name = conn.service_name[len(conn_prefix):]
          conn[CONN_INTERFACE].connect_to_signal('StatusChanged',
              lambda status, reason:
                  self._status_changed_cb(name, status, reason))
  
      def _name_owner_changed_cb(self, service, old, new):
          if service.startswith(conn_prefix):
              name = service[len(conn_prefix):]
  
              if old == '':
                  conn = Connection(service)
                  self._watch_conn(conn)
                  status = connection_status[conn[CONN_INTERFACE].GetStatus()]
                  print 'new connection: %s (%s)' % (name, status)
              elif new == '':
                  print 'connection gone: %s' % name
  
      def _status_changed_cb(self, name, status, reason):
          print 'status changed: %s: %s' % (
              name, connection_status[status])
  
  if __name__ == '__main__':
      Watcher(dbus.Bus())
      loop = gobject.MainLoop()
  
      try:
          loop.run()
      except KeyboardInterrupt:
          pass
  
  
new_contents: 
  """
  Example of how to discover exisiting Telepathy connections on the bus, and be
  notified when connections appear and disappear.
  """
  
  import dbus
  import dbus.glib
  import gobject
  
  from telepathy.interfaces import CONN_INTERFACE
  from telepathy.client import Connection
  
  conn_prefix = 'org.freedesktop.Telepathy.Connection.'
  connection_status = ['Connected', 'Connecting', 'Disconnected']
  
  class Watcher:
      def __init__(self, bus):
          self.bus = bus
          connections = Connection.get_connections()
  
          for conn in connections:
              self._watch_conn(conn)
              status = connection_status[conn[CONN_INTERFACE].GetStatus()]
              print 'found connection: %s (%s)' % (conn.service_name, status)
  
          dbus = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
          dbus.connect_to_signal('NameOwnerChanged', self._name_owner_changed_cb)
  
      def _watch_conn(self, conn):
          name = conn.service_name[len(conn_prefix):]
          conn[CONN_INTERFACE].connect_to_signal('StatusChanged',
              lambda status, reason:
                  self._status_changed_cb(name, status, reason))
  
      def _name_owner_changed_cb(self, service, old, new):
          if service.startswith(conn_prefix):
              name = service[len(conn_prefix):]
  
              if old == '':
                  conn = Connection(service)
                  self._watch_conn(conn)
                  status = connection_status[conn[CONN_INTERFACE].GetStatus()]
                  print 'new connection: %s (%s)' % (name, status)
              elif new == '':
                  print 'connection gone: %s' % name
  
      def _status_changed_cb(self, name, status, reason):
          print 'status changed: %s: %s' % (
              name, connection_status[status])
  
  if __name__ == '__main__':
      Watcher(dbus.Bus())
      loop = gobject.MainLoop()
  
      try:
          loop.run()
      except KeyboardInterrupt:
          pass
  
  
subject: Fix watch example