#!/usr/bin/python

import sys
import dbus

if (len(sys.argv) < 2):
	print "Usage: %s <ssid> [passphrase] [security]" % (sys.argv[0])
	sys.exit(1)

bus = dbus.SystemBus()

manager = dbus.Interface(bus.get_object("org.moblin.connman", "/"),
					"org.moblin.connman.Manager")

properties = manager.GetProperties()

for path in properties["Devices"]:
	device = dbus.Interface(bus.get_object("org.moblin.connman", path),
						"org.moblin.connman.Device")

	properties = device.GetProperties()

	if (properties["Type"] != "wifi"):
		continue;

	print "[ %s ]" % (path)
	print "Attempting to join %s" % (sys.argv[1])

	if len(sys.argv) > 2:
		if len(sys.argv) > 3:
			security = sys.argv[3]
		else:
			security = "rsn"
		passphrase = sys.argv[2]
	else:
		security = "none"
		passphrase = ""

	device.JoinNetwork({ "WiFi.Mode": "managed",
					"WiFi.SSID": sys.argv[1],
					"WiFi.Security": security,
					"WiFi.Passphrase": passphrase })
