#!/usr/bin/python

import dbus
import string

bus = dbus.SystemBus()

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

properties = manager.GetProperties()

def convert_ssid(ssid_list):
	ssid = ""
	for byte in ssid_list:
		if (str(byte) in string.printable):
			ssid = ssid + str(byte)
		else:
			ssid = ssid + "."
	return ssid

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

	properties = device.GetProperties()

	try:
		if properties["Type"] not in ["ethernet", "wifi", "wimax",
						"bluetooth", "cellular"]:
			continue
	except:
		continue

	print "[ %s ]" % (path)

	for path in properties["Networks"]:
		network = dbus.Interface(bus.get_object("org.moblin.connman", path),
						"org.moblin.connman.Network")

		properties = network.GetProperties()

		print "    [ %s ]" % (path)

		for key in properties.keys():
			if key == "WiFi.SSID":
				ssid = convert_ssid(properties[key])
				print "        %s = [ %s ]" % (key, ssid)
			elif key in ["Strength", "Priority"]:
				print "        %s = %d" % (key, properties[key])
			else:
				print "        %s = %s" % (key, properties[key])

	print
