1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-26 00:12:29 +01:00

Support alternative ifconfig output style

This commit is contained in:
David Paleino
2011-11-03 10:37:50 +01:00
parent 937ccaae1d
commit f447c7005c

View File

@@ -58,7 +58,9 @@ wpa1_pattern = re.compile('(WPA Version 1)', _re_mode)
wpa2_pattern = re.compile('(WPA2)', _re_mode)
#iwconfig-only regular expressions.
ip_up = re.compile(r'flags=[0.9]*<([^>]*)>', re.S)
ip_pattern = re.compile(r'inet [Aa]d?dr[^.]*:([^.]*\.[^.]*\.[^.]*\.[0-9]*)', re.S)
ip_pattern1 = re.compile(r'inet ([^.]*\.[^.]*\.[^.]*\.[0-9]*)', re.S)
bssid_pattern = re.compile('.*[(Access Point)|(Cell)]: (([0-9A-Z]{2}:){5}[0-9A-Z]{2})', _re_mode)
bitrate_pattern = re.compile('.*Bit Rate[=:](.*?/s)', _re_mode)
opmode_pattern = re.compile('.*Mode:(.*?) ', _re_mode)
@@ -724,8 +726,12 @@ class BaseInterface(object):
output = self.GetIfconfig()
else:
output = ifconfig
return misc.RunRegex(ip_pattern, output)
# check multiple ifconfig output styles
for pat in [ip_pattern, ip_pattern1]:
m = misc.RunRegex(ip_pattern, output)
if m: return m
return None
@neediface(False)
def VerifyAPAssociation(self, gateway):
""" Verify assocation with an access point.
@@ -773,6 +779,11 @@ class BaseInterface(object):
lines = output.split('\n')
if len(lines) < 5:
return False
# check alternative ifconfig output style
m = misc.RunRegex(ip_up, lines[0])
if m and m.find('UP') > -1:
return True
# check classic ifconfig output style
for line in lines[1:4]:
if line.strip().startswith('UP'):
return True