aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-10-12 00:14:28 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-10-12 00:14:28 +0000
commit97b7554abc88ade4b89a804ac3efeb7ead192009 (patch)
tree62a3645ab6ecccab64d11ada9d96d169d95b719f /lib/python
parent99603b28da72d3269742be0be6557da8262fc1a0 (diff)
downloadenigma2-97b7554abc88ade4b89a804ac3efeb7ead192009.tar.gz
enigma2-97b7554abc88ade4b89a804ac3efeb7ead192009.zip
- added resolv.conf parsing
- fixed some bugs - networksetting now complete ;)
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/Network.py29
-rw-r--r--lib/python/Screens/NetworkSetup.py3
2 files changed, 28 insertions, 4 deletions
diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py
index 85d0a3a2..cd82081b 100644
--- a/lib/python/Components/Network.py
+++ b/lib/python/Components/Network.py
@@ -26,6 +26,8 @@ class Network:
# parse the interfaces-file
fp = file('/etc/network/interfaces', 'r')
interfaces = fp.readlines()
+ fp.close()
+
ifaces = {}
currif = ""
for i in interfaces:
@@ -43,8 +45,24 @@ class Network:
if (split[0] == "netmask"):
ifaces[currif]["netmask"] = map(int, split[1].split('.'))
if (split[0] == "gateway"):
- ifaces[currif]["gateway"] = map(int, split[1].split('.'))
+ ifaces[currif]["gateway"] = map(int, split[1].split('.'))
+
+ # parse the resolv.conf-file
+ fp = file('/etc/network/interfaces', 'r')
+ resolv = fp.readlines()
+ fp.close()
+ except:
+ pass
+ try:
+ for i in resolv:
+ split = i.strip().split(' ')
+ if (split[0] == "nameserver"):
+ config.network.nameserver.value = map(int, split[1].split('.'))
+ except:
+ pass
+
+ try:
# set this config
if (ifaces.has_key("eth0")):
if (ifaces["eth0"]["dhcp"] == "yes"):
@@ -54,7 +72,6 @@ class Network:
if (ifaces["eth0"].has_key("address")): config.network.ip.value = ifaces["eth0"]["address"]
if (ifaces["eth0"].has_key("netmask")): config.network.netmask.value = ifaces["eth0"]["netmask"]
if (ifaces["eth0"].has_key("gateway")): config.network.gateway.value = ifaces["eth0"]["gateway"]
- fp.close()
except:
pass
@@ -105,7 +122,13 @@ class Network:
iNetwork = Network()
def InitNetwork():
- ip = map (int, gethostbyname(gethostname()).split('.'))
+ try:
+ ip = [0, 0, 0, 0]
+ print gethostbyname(gethostname())
+ ip = gethostbyname(gethostname()).split('.')
+ print ip
+ except:
+ print "[Network.py] Could not get current ip (not necessarily an error)"
config.network = ConfigSubsection()
config.network.dhcp = configElement_nonSave("config.network.dhcp", configSelection, 1, ("no", "yes"))
diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py
index d05a6365..505d508f 100644
--- a/lib/python/Screens/NetworkSetup.py
+++ b/lib/python/Screens/NetworkSetup.py
@@ -94,4 +94,5 @@ class NetworkSetup(Screen):
def keyCancel(self):
for x in self["config"].list:
x[1].cancel()
- self.close() \ No newline at end of file
+ iNetwork.loadNetworkConfig()
+ self.close() \ No newline at end of file