ofono/test/process-context-settings

55 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python3
import os
import dbus
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object('org.ofono', '/'),
'org.ofono.Manager')
modems = manager.GetModems()
for path, properties in modems:
if "org.ofono.ConnectionManager" not in properties["Interfaces"]:
continue
connman = dbus.Interface(bus.get_object('org.ofono', path),
'org.ofono.ConnectionManager')
contexts = connman.GetContexts()
for path, properties in contexts:
if properties["Active"] == dbus.Boolean(0):
continue
print("Configuring %s" % (path))
settings = properties["Settings"]
interface = settings["Interface"]
address = settings["Address"]
try:
gateway = settings["Gateway"]
except:
gateway = "0.0.0.0";
if settings["Method"] == "dhcp":
print(" Run DHCP on interface %s" % (interface))
else:
print(" Interface is %s" % (interface))
print(" IP address is %s" % (address))
print(" Gateway is %s" % (gateway))
cmd = "ifconfig " + interface + " " + address
cmd += " netmask 255.255.255.255"
os.system(cmd);
for i in settings["DomainNameServers"]:
print(" Nameserver is %s" % (i))
cmd = "route add -host " + i
cmd +=" dev " + interface
os.system(cmd);
print('')