self.LinkConsole = Console()
self.restartConsole = Console()
self.deactivateConsole = Console()
+ self.deactivateInterfaceConsole = Console()
self.activateConsole = Console()
self.resetNetworkConsole = Console()
self.DnsConsole = Console()
def getDataForInterface(self, iface,callback):
#get ip out of ip addr, as avahi sometimes overrides it in ifconfig.
+ if not self.Console:
+ self.Console = Console()
cmd = "ip -o addr"
self.Console.ePopen(cmd, self.IPaddrFinished, [iface,callback])
macRegexp = '[0-9]{2}\:[0-9]{2}\:[0-9]{2}\:[a-z0-9]{2}\:[a-z0-9]{2}\:[a-z0-9]{2}'
ipLinePattern = re_compile('inet ' + ipRegexp + '/')
ipPattern = re_compile(ipRegexp)
- netmaskLinePattern = re_compile('/' + netRegexp + ' brd ')
+ netmaskLinePattern = re_compile('/' + netRegexp)
netmaskPattern = re_compile(netRegexp)
bcastLinePattern = re_compile(' brd ' + ipRegexp)
upPattern = re_compile('UP')
ifaces[currif]["gateway"] = map(int, split[1].split('.'))
if self.ifaces[currif].has_key("gateway"):
if self.ifaces[currif]["gateway"] != ifaces[currif]["gateway"] and ifaces[currif]["dhcp"] == False:
- self.ifaces[currif]["gateway"] = map(int, split[1].split('.'))
+ self.ifaces[currif]["gateway"] = map(int, split[1].split('.'))
if (split[0] == "pre-up"):
if self.ifaces[currif].has_key("preup"):
self.ifaces[currif]["preup"] = i
for ifacename, iface in ifaces.items():
if self.ifaces.has_key(ifacename):
self.ifaces[ifacename]["dhcp"] = iface["dhcp"]
- if len(self.Console.appContainers) == 0:
- # save configured interfacelist
- self.configuredNetworkAdapters = self.configuredInterfaces
- # load ns only once
- self.loadNameserverConfig()
- print "read configured interfac:", ifaces
- print "self.ifaces after loading:", self.ifaces
- if callback is not None:
- callback(True)
+ if self.Console:
+ if len(self.Console.appContainers) == 0:
+ # save configured interfacelist
+ self.configuredNetworkAdapters = self.configuredInterfaces
+ # load ns only once
+ self.loadNameserverConfig()
+ print "read configured interfac:", ifaces
+ print "self.ifaces after loading:", self.ifaces
+ if callback is not None:
+ callback(True)
def loadNameserverConfig(self):
ipRegexp = "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
if len(self.PingConsole.appContainers) == 0:
statecallback(self.NetworkState)
- def restartNetwork(self,callback):
+ def restartNetwork(self,callback = None):
self.restartConsole = Console()
self.commands = []
self.commands.append("/etc/init.d/avahi-daemon stop")
self.restartConsole.eBatch(self.commands, self.restartNetworkFinished, callback, debug=True)
def restartNetworkFinished(self,extra_args):
- callback = extra_args
- if len(self.restartConsole.appContainers) == 0:
+ ( callback ) = extra_args
+ if callback is not None:
callback(True)
def getLinkState(self,iface,callback):
if self.restartConsole is not None:
self.restartConsole = None
- def RestartConsoleRunning(self):
- if self.restartConsole is not None:
- if len(self.restartConsole.appContainers) == 0:
- return False
- else:
- return True
+ def stopGetInterfacesConsole(self):
+ if self.Console is not None:
+ self.Console = None
+
+ def stopDeactivateInterfaceConsole(self):
+ if self.deactivateInterfaceConsole:
+ self.deactivateInterfaceConsole = None
def checkforInterface(self,iface):
if self.getAdapterAttribute(iface, 'up') is True:
if len(self.DnsConsole.appContainers) == 0:
statecallback(self.DnsState)
- def deactivateInterface(self,iface):
+ def deactivateInterface(self,iface,callback = None):
self.deactivateInterfaceConsole = Console()
self.commands = []
cmd1 = "ip addr flush " + iface
cmd2 = "ifconfig " + iface + " down"
self.commands.append(cmd1)
self.commands.append(cmd2)
- self.deactivateInterfaceConsole.eBatch(self.commands, self.deactivateInterfaceFinished, extra_args = None, debug=True)
+ self.deactivateInterfaceConsole.eBatch(self.commands, self.deactivateInterfaceFinished, callback, debug=True)
def deactivateInterfaceFinished(self,extra_args):
- pass
+ callback = extra_args
+ if self.deactivateInterfaceConsole:
+ if len(self.deactivateInterfaceConsole.appContainers) == 0:
+ if callback is not None:
+ callback(True)
def detectWlanModule(self):
self.wlanmodule = None