| #!/usr/bin/python |
| |
| from __future__ import absolute_import, print_function, unicode_literals |
| |
| import sys |
| import dbus |
| from optparse import OptionParser, make_option |
| |
| bus = dbus.SystemBus() |
| |
| manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager") |
| |
| option_list = [ |
| make_option("-i", "--device", action="store", |
| type="string", dest="dev_id"), |
| make_option("-f", "--interface", action="store", |
| type="string", dest="dev_if"), |
| ] |
| parser = OptionParser(option_list=option_list) |
| |
| (options, args) = parser.parse_args() |
| |
| if options.dev_id: |
| adapter_path = manager.FindAdapter(options.dev_id) |
| else: |
| adapter_path = manager.DefaultAdapter() |
| |
| if options.dev_if: |
| interface = "org.bluez." + options.dev_if |
| else: |
| interface = "org.bluez.Audio" |
| |
| adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path), |
| "org.bluez.Adapter") |
| |
| if len(args) < 2: |
| print("""Usage: %s <command> |
| |
| connect <bdaddr> |
| disconnect <bdaddr> |
| """ % sys.argv[0]) |
| sys.exit(1) |
| |
| device = adapter.FindDevice(args[1]) |
| audio = dbus.Interface(bus.get_object("org.bluez", device), interface) |
| |
| if args[0] == "connect": |
| audio.Connect() |
| elif args[0] == "disconnect": |
| audio.Disconnect() |
| else: |
| print("Unknown command") |
| sys.exit(1) |