diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2007-03-19 18:56:16 +0000 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2007-03-19 18:56:16 +0000 |
| commit | e7b3db898270e6a6a252eee7697302fb0c1f7d38 (patch) | |
| tree | 93a0f06932d959a357aa74e09ecd83e33612a975 /lib/python | |
| parent | 5d71f584400a4302a391289bca750cdc16ed58cb (diff) | |
| download | enigma2-e7b3db898270e6a6a252eee7697302fb0c1f7d38.tar.gz enigma2-e7b3db898270e6a6a252eee7697302fb0c1f7d38.zip | |
plugins are now able to add device specific text to /etc/networking/interfaces
example:
where = PluginDescriptor.WHERE_NETWORKSETUP, fnc={"ifaceSupported": callFunction, "configStrings": configStrings}
with
def PluginFunction(session, iface):
session.open(<MainPlugin>, iface)
def callFunction(iface):
if <iface is supported by plugin>:
return PluginFunction
else:
return None
def configSrings(iface):
return "# would add this to adapter iface into /etc/networking/interfaces"
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Components/Network.py | 4 | ||||
| -rw-r--r-- | lib/python/Screens/NetworkSetup.py | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py index 884f97cd..37af0c98 100644 --- a/lib/python/Components/Network.py +++ b/lib/python/Components/Network.py @@ -113,6 +113,9 @@ class Network: fp.write(" netmask %d.%d.%d.%d\n" % tuple(iface['netmask'])) if iface.has_key('gateway'): fp.write(" gateway %d.%d.%d.%d\n" % tuple(iface['gateway'])) + + if iface.has_key("configStrings"): + fp.write("\n" + iface["configStrings"] + "\n") fp.write("\n") fp.close() self.writeNameserverConfig() @@ -211,6 +214,7 @@ class Network: return None def setAdapterAttribute(self, iface, attribute, value): + print "setting for adapter", iface, "attribute", attribute, " to value", value if self.ifaces.has_key(iface): self.ifaces[iface][attribute] = value diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index 640da615..b4dbc639 100644 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -138,9 +138,14 @@ class AdapterSetup(Screen, ConfigListScreen): self.extended = None for p in plugins.getPlugins(PluginDescriptor.WHERE_NETWORKSETUP): - callFnc = p.__call__(self.iface) + callFnc = p.__call__["ifaceSupported"](self.iface) if callFnc is not None: self.extended = callFnc + print p.__call__ + if p.__call__.has_key("configStrings"): + self.configStrings = p.__call__["configStrings"] + else: + self.configStrings = None self.extendedSetup = getConfigListEntry(_('Extended Setup...'), NoSave(ConfigNothing())) self.list.append(self.extendedSetup) @@ -172,8 +177,12 @@ class AdapterSetup(Screen, ConfigListScreen): iNetwork.setAdapterAttribute(self.iface, "gateway", self.gatewayConfigEntry.value) else: iNetwork.removeAdapterAttribute(self.iface, "gateway") - - + + print "self.extended:", self.extended + print "self.configStrings:", self.configStrings + if self.extended is not None and self.configStrings is not None: + iNetwork.setAdapterAttribute(self.iface, "configStrings", self.configStrings(self.iface)) + iNetwork.deactivateNetworkConfig() iNetwork.writeNetworkConfig() iNetwork.activateNetworkConfig() |
