test-network 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/python
  2. # SPDX-License-Identifier: LGPL-2.1-or-later
  3. from __future__ import absolute_import, print_function, unicode_literals
  4. from optparse import OptionParser, make_option
  5. import sys
  6. import time
  7. import dbus
  8. import bluezutils
  9. bus = dbus.SystemBus()
  10. manager = dbus.Interface(bus.get_object("org.bluez", "/"),
  11. "org.bluez.Manager")
  12. option_list = [
  13. make_option("-i", "--device", action="store",
  14. type="string", dest="dev_id"),
  15. ]
  16. parser = OptionParser(option_list=option_list)
  17. (options, args) = parser.parse_args()
  18. if (len(args) < 1):
  19. print("Usage: %s <address> [service]" % (sys.argv[0]))
  20. sys.exit(1)
  21. # Fix-up in case of "connect" invocation that other scripts use
  22. if args[0] == "connect":
  23. del args[:1]
  24. if (len(args) < 2):
  25. service = "panu"
  26. else:
  27. service = args[1]
  28. device = bluezutils.find_device(args[0], options.dev_id)
  29. network = dbus.Interface(bus.get_object("org.bluez", device.object_path),
  30. "org.bluez.Network1")
  31. iface = network.Connect(service)
  32. print("Connected to %s service %s, interface %s" % (args[0], service, iface))
  33. print("Press CTRL-C to disconnect")
  34. try:
  35. time.sleep(1000)
  36. print("Terminating connection")
  37. except:
  38. pass
  39. network.Disconnect()