network setup stuff
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 2 Sep 2005 05:05:08 +0000 (05:05 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 2 Sep 2005 05:05:08 +0000 (05:05 +0000)
data/setup.xml
lib/python/Components/Network.py [new file with mode: 0644]

index 1822217..a6f5cd2 100644 (file)
@@ -17,6 +17,8 @@
                </setup>
                <setup key="network" title="Networksetup">
                        <item text="IP Address">config.network.ip</item>
+                       <item text="Gateway">config.network.gateway</item>
+                       <item text="Nameserver">config.network.dns</item>                                               
                </setup>
                <setup key="rfmod" title="UHF Modulator">
                        <item text="Modulator">config.rfmod.enable</item>
diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py
new file mode 100644 (file)
index 0000000..df2c3d9
--- /dev/null
@@ -0,0 +1,42 @@
+from config import *
+
+import os
+
+class Network:
+       def __init__(self):
+               pass
+               
+       def setIPAddress(self, ip):
+               print ip
+               #os.system("echo ifconfig eth0 %d.%d.%d.%d" % (ip[0], ip[1], ip[2], ip[3]))
+
+       def setIPGateway(self, ip):
+               os.system("echo route add default gw %d.%d.%d.%d" % (ip[0], ip[1], ip[2], ip[3]))
+
+       def setIPNameserver(self, ip):
+               resolvconf = file('/etc/resolv.conf', 'w')
+               resolvconf.write("nameserver %d.%d.%d.%d" % (ip[0], ip[1], ip[2], ip[3]))
+               resolvconf.close()
+               
+def InitNetwork():
+       config.network = ConfigSubsection();
+       config.network.ip = configElement("config.network.ip", configSequence, [192,168,1,45], (".") );
+       config.network.gateway = configElement("config.network.gateway", configSequence, [192,168,1,3], (".") );
+       config.network.dns = configElement("config.network.dns", configSequence, [192,168,1,3], (".") );
+
+       iNetwork = Network()
+
+       def setIPAddress(configElement):
+               iNetwork.setIPAddress(configElement.value);
+
+       def setIPGateway(configElement):
+               iNetwork.setIPGateway(configElement.value);
+               
+       def setIPNameserver(configElement):
+               iNetwork.setIPNameserver(configElement.value);
+
+
+       # this will call the "setup-val" initial
+       config.network.ip.addNotifier(setIPAddress);
+       config.network.gateway.addNotifier(setIPGateway);
+       config.network.dns.addNotifier(setIPNameserver);