#!/usr/bin/env python3 # SPDX-License-Identifier: LGPL-2.1-or-later from __future__ import absolute_import, print_function, unicode_literals from optparse import OptionParser, make_option import sys import time import dbus import bluezutils 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"), ] parser = OptionParser(option_list=option_list) (options, args) = parser.parse_args() if (len(args) < 1): print("Usage: %s
[service]" % (sys.argv[0])) sys.exit(1) # Fix-up in case of "connect" invocation that other scripts use if args[0] == "connect": del args[:1] if (len(args) < 2): service = "panu" else: service = args[1] device = bluezutils.find_device(args[0], options.dev_id) network = dbus.Interface(bus.get_object("org.bluez", device.object_path), "org.bluez.Network1") iface = network.Connect(service) print("Connected to %s service %s, interface %s" % (args[0], service, iface)) print("Press CTRL-C to disconnect") try: time.sleep(1000) print("Terminating connection") except: pass network.Disconnect()