| #!/usr/bin/python |
| |
| import dbus |
| |
| bus = dbus.SystemBus() |
| |
| manager = dbus.Interface(bus.get_object("org.bluez", "/"), |
| "org.bluez.Manager") |
| |
| def extract_objects(object_list): |
| list = "" |
| for object in object_list: |
| val = str(object) |
| list = list + val[val.rfind("/") + 1:] + " " |
| return list |
| |
| def extract_uuids(uuid_list): |
| list = "" |
| for uuid in uuid_list: |
| if (uuid.endswith("-0000-1000-8000-00805f9b34fb")): |
| if (uuid.startswith("0000")): |
| val = "0x" + uuid[4:8] |
| else: |
| val = "0x" + uuid[0:8] |
| else: |
| val = str(uuid) |
| list = list + val + " " |
| return list |
| |
| adapter_list = manager.ListAdapters() |
| |
| for i in adapter_list: |
| adapter = dbus.Interface(bus.get_object("org.bluez", i), |
| "org.bluez.Adapter") |
| print "[ " + i + " ]" |
| |
| properties = adapter.GetProperties() |
| for key in properties.keys(): |
| value = properties[key] |
| if (key == "Devices"): |
| list = extract_objects(value) |
| print " %s = %s" % (key, list) |
| elif (key == "UUIDs"): |
| list = extract_uuids(value) |
| print " %s = %s" % (key, list) |
| else: |
| print " %s = %s" % (key, value) |
| |
| try: |
| device_list = properties["Devices"] |
| except: |
| device_list = [] |
| |
| for n in device_list: |
| device = dbus.Interface(bus.get_object("org.bluez", n), |
| "org.bluez.Device") |
| print " [ " + n + " ]" |
| |
| properties = device.GetProperties() |
| for key in properties.keys(): |
| value = properties[key] |
| if (key == "Nodes"): |
| list = extract_objects(value) |
| print " %s = %s" % (key, list) |
| elif (key == "UUIDs"): |
| list = extract_uuids(value) |
| print " %s = %s" % (key, list) |
| elif (key == "Class"): |
| print " %s = 0x%06x" % (key, value) |
| else: |
| print " %s = %s" % (key, value) |
| |
| try: |
| node_list = properties["Nodes"] |
| except: |
| node_list = [] |
| |
| for x in node_list: |
| node = dbus.Interface(bus.get_object("org.bluez", x), |
| "org.bluez.Node") |
| print " [ " + x + " ]" |
| |
| properties = node.GetProperties() |
| for key in properties.keys(): |
| print " %s = %s" % (key, properties[key]) |
| |
| print |