From: acid-burn Date: Tue, 15 Dec 2009 18:29:43 +0000 (+0100) Subject: Merge commit 'origin/bug_203_fix_wrong_networkstate' into experimental X-Git-Tag: 3.0.0~28^2~66^2~149 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/defadb893d6897935165b63a9de09b95f43dfcc1?hp=46b2ddde6868639c2c437f1bed6d6db27a71038d Merge commit 'origin/bug_203_fix_wrong_networkstate' into experimental Conflicts: lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py lib/python/Screens/NetworkSetup.py --- diff --git a/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py b/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py index a78857a6..6bfaec52 100755 --- a/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py +++ b/lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py @@ -130,7 +130,7 @@ class WlanStatus(Screen): def exit(self): self.timer.stop() - self.close() + self.close(True) def updateStatusbar(self): self["BSSID"].setText(_("Please wait...")) @@ -262,8 +262,11 @@ class WlanScan(Screen): self.updateAPList() def buildEntryComponent(self, essid, bssid, encrypted, iface, maxrate, signal): +<<<<<<< HEAD:lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py print "buildEntryComponent",essid print "buildEntryComponent",bssid +======= +>>>>>>> origin/bug_203_fix_wrong_networkstate:lib/python/Plugins/SystemPlugins/WirelessLan/plugin.py divpng = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/div-h.png")) encryption = encrypted and _("Yes") or _("No") if bssid == 'hidden...': diff --git a/lib/python/Screens/NetworkSetup.py b/lib/python/Screens/NetworkSetup.py index c24fddeb..e16f26f3 100755 --- a/lib/python/Screens/NetworkSetup.py +++ b/lib/python/Screens/NetworkSetup.py @@ -662,6 +662,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self.session = session self.iface = iface self.restartLanRef = None + self.LinkState = None self.mainmenu = self.genMainMenu() self["menulist"] = MenuList(self.mainmenu) self["key_red"] = StaticText(_("Close")) @@ -711,6 +712,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self.onClose.append(self.cleanup) def ok(self): + self.stopCheckNetworkConsole() if self["menulist"].getCurrent()[1] == 'edit': if self.iface == 'wlan0' or self.iface == 'ath0': try: @@ -809,6 +811,8 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self["description"].setText(_(self["menulist"].getCurrent()[1][1]) + self.oktext ) def updateStatusbar(self, data = None): + self.mainmenu = self.genMainMenu() + self["menulist"].l.setList(self.mainmenu) self["IFtext"].setText(_("Network:")) self["IF"].setText(iNetwork.getFriendlyAdapterName(self.iface)) self["Statustext"].setText(_("Link:")) @@ -878,20 +882,14 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): # Display Wlan not available Message self.showErrorMessage() else: - self.mainmenu = self.genMainMenu() - self["menulist"].l.setList(self.mainmenu) self.updateStatusbar() else: - self.mainmenu = self.genMainMenu() - self["menulist"].l.setList(self.mainmenu) self.updateStatusbar() def WlanStatusClosed(self, *ret): if ret is not None and len(ret): from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status iStatus.stopWlanConsole() - self.mainmenu = self.genMainMenu() - self["menulist"].l.setList(self.mainmenu) self.updateStatusbar() def WlanScanClosed(self,*ret): @@ -900,8 +898,6 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): else: from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus,Status iStatus.stopWlanConsole() - self.mainmenu = self.genMainMenu() - self["menulist"].l.setList(self.mainmenu) self.updateStatusbar() def restartLan(self, ret = False): @@ -923,15 +919,15 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self.session.open(MessageBox, _("Finished restarting your network"), type = MessageBox.TYPE_INFO, timeout = 10, default = False) def dataAvail(self,data): - self.output = data.strip() - result = self.output.split('\n') - pattern = re_compile("Link detected: yes") - for item in result: - if re_search(pattern, item): - self["statuspic"].setPixmapNum(0) - else: - self["statuspic"].setPixmapNum(1) - self["statuspic"].show() + self.LinkState = None + for line in data.splitlines(): + line = line.strip() + if 'Link detected:' in line: + if "yes" in line: + self.LinkState = True + else: + self.LinkState = False + iNetwork.checkNetworkState(self.checkNetworkCB) def showErrorMessage(self): self.session.open(MessageBox, self.errortext, type = MessageBox.TYPE_INFO,timeout = 10 ) @@ -939,6 +935,7 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): def cleanup(self): iNetwork.stopLinkStateConsole() iNetwork.stopDeactivateInterfaceConsole() + self.stopCheckNetworkConsole() try: from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus except ImportError: @@ -956,6 +953,25 @@ class AdapterSetupConfiguration(Screen, HelpableScreen): self["statuspic"].setPixmapNum(0) self["statuspic"].show() + def checkNetworkCB(self,data): + if iNetwork.getAdapterAttribute(self.iface, "up") is True: + if self.LinkState is True: + if data <= 2: + self["statuspic"].setPixmapNum(0) + else: + self["statuspic"].setPixmapNum(1) + else: + self["statuspic"].setPixmapNum(1) + else: + self["statuspic"].setPixmapNum(1) + self["statuspic"].show() + + def stopCheckNetworkConsole(self): + if iNetwork.PingConsole is not None: + if len(iNetwork.PingConsole.appContainers): + for name in iNetwork.PingConsole.appContainers.keys(): + iNetwork.PingConsole.kill(name) + class NetworkAdapterTest(Screen): def __init__(self, session,iface): Screen.__init__(self, session)