#!/usr/bin/python # SPDX-License-Identifier: LGPL-2.1-or-later from __future__ import absolute_import, print_function, unicode_literals import dbus import dbus.mainloop.glib try: from gi.repository import GObject except ImportError: import gobject as GObject import bluezutils def interfaces_added(path, interfaces): if interfaces.get("org.bluez.Adapter1") != None: print("Adapter with path %s added" % (path)) def interfaces_removed(path, interfaces): if "org.bluez.Adapter1" in interfaces: print("Adapter with path %s removed" % (path)) if __name__ == "__main__": dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) bus = dbus.SystemBus() bus.add_signal_receiver(interfaces_added, bus_name="org.bluez", dbus_interface="org.freedesktop.DBus.ObjectManager", signal_name="InterfacesAdded") bus.add_signal_receiver(interfaces_removed, bus_name="org.bluez", dbus_interface="org.freedesktop.DBus.ObjectManager", signal_name="InterfacesRemoved") try: path = bluezutils.find_adapter().object_path print("Adapter found at path %s" % (path)) except: print("No adapter found") mainloop = GObject.MainLoop() mainloop.run()