import dbus

bus = dbus.SystemBus()

manager = dbus.Interface(
    bus.get_object('org.bluez', '/org/bluez'),
    'org.bluez.Manager')

for adapter_name in manager.ListAdapters():
    adapter = dbus.Interface(
        bus.get_object('org.bluez', adapter_name), 'org.bluez.Adapter')
    print 'Paired devices for %s' % adapter_name
    for bdaddr in adapter.ListBondings():
        print ' * %s' % bdaddr
        try:
            for svcclass in adapter.GetRemoteServiceClasses(bdaddr):
                print '    * %s' % svcclass
        except dbus.DBusException:
            pass
