- def stopWlanConsole(self):
- if self.WlanConsole is not None:
- print "killing self.WlanConsole"
- self.WlanConsole = None
- del self.WlanConsole
-
- def getDataForInterface(self, callback = None):
- #get ip out of ip addr, as avahi sometimes overrides it in ifconfig.
- print "self.iface im getDataForInterface",self.iface
- if len(self.WlanConsole.appContainers) == 0:
- self.WlanConsole = Console()
- cmd = "iwconfig " + self.iface
- self.WlanConsole.ePopen(cmd, self.iwconfigFinished, callback)
-
- def iwconfigFinished(self, result, retval, extra_args):
- print "self.iface im iwconfigFinished",self.iface
- callback = extra_args
- data = { 'essid': False, 'frequency': False, 'acesspoint': False, 'bitrate': False, 'encryption': False, 'quality': False, 'signal': False }
- #print "result im iwconfigFinished",result
-
- for line in result.splitlines():
- #print "line",line
- line = line.strip()
- if "ESSID" in line:
- if "off/any" in line:
- ssid = _("No Connection")
- else:
- tmpssid=(line[line.index('ESSID')+7:len(line)-1])
- if tmpssid == '':
- ssid = _("Hidden networkname")
- elif tmpssid ==' ':
- ssid = _("Hidden networkname")
- else:
- ssid = tmpssid
- #print "SSID->",ssid
- if ssid is not None:
- data['essid'] = ssid
- if 'Frequency' in line:
- frequency = line[line.index('Frequency')+10 :line.index(' GHz')]
- #print "Frequency",frequency
- if frequency is not None:
- data['frequency'] = frequency
- if "Access Point" in line:
- ap=line[line.index('Access Point')+14:len(line)-1]
- #print "AP",ap
- if ap is not None:
- data['acesspoint'] = ap
- if "Bit Rate" in line:
- br = line[line.index('Bit Rate')+9 :line.index(' Mb/s')]
- #print "Bitrate",br
- if br is not None:
- data['bitrate'] = br
- if 'Encryption key' in line:
- if ":off" in line:
- enc = _("Disabled")
- else:
- enc = line[line.index('Encryption key')+15 :line.index(' Security')]
- #print "Encryption key",enc
- if enc is not None:
- data['encryption'] = _("Enabled")
- if 'Quality' in line:
- if "/100" in line:
- qual = line[line.index('Quality')+8:line.index('/100')]
- else:
- qual = line[line.index('Quality')+8:line.index('Sig')]
- #print "Quality",qual
- if qual is not None:
- data['quality'] = qual
- if 'Signal level' in line:
- signal = line[line.index('Signal level')+14 :line.index(' dBm')]
- #print "Signal level",signal
- if signal is not None:
- data['signal'] = signal
-
- self.wlaniface[self.iface] = data
-
- if len(self.WlanConsole.appContainers) == 0:
- print "self.wlaniface after loading:", self.wlaniface
- self.WlanConsole = None
- if callback is not None:
- callback(True,self.wlaniface)
-
- def getAdapterAttribute(self, attribute):
- print "im getAdapterAttribute"
- if self.wlaniface.has_key(self.iface):
- print "self.wlaniface.has_key",self.iface
- if self.wlaniface[self.iface].has_key(attribute):
- return self.wlaniface[self.iface][attribute]
- return None
-