1
0
mirror of https://github.com/gryf/wicd.git synced 2026-03-11 03:55:56 +01:00

merged lp:~adamblackburn/wicd/1.6-return-101-if-no-strength to allow cards that don't report signal strength to work with Wicd's default settings

This commit is contained in:
Adam Blackburn
2009-06-20 19:25:10 -05:00
2 changed files with 15 additions and 2 deletions

View File

@@ -309,6 +309,12 @@ class WicdDaemon(dbus.service.Object):
if self.GetSignalDisplayType() == 1: if self.GetSignalDisplayType() == 1:
return (signal + " dBm") return (signal + " dBm")
else: else:
try:
if int(signal) == 101:
return '??%'
else:
return (signal + "%")
except ValueError:
return (signal + "%") return (signal + "%")
@dbus.service.method('org.wicd.daemon') @dbus.service.method('org.wicd.daemon')

View File

@@ -1366,7 +1366,14 @@ class BaseWirelessInterface(BaseInterface):
(strength, max_strength) = (None, None) (strength, max_strength) = (None, None)
if strength in ['', None]: if strength in ['', None]:
try:
[(strength, max_strength)] = altstrength_pattern.findall(output) [(strength, max_strength)] = altstrength_pattern.findall(output)
except ValueError:
# if the pattern was unable to match anything
# we'll return 101, which will allow us to stay
# connected even though we don't know the strength
# it also allows us to tell if
return 101
if strength not in ['', None] and max_strength: if strength not in ['', None] and max_strength:
return (100 * int(strength) // int(max_strength)) return (100 * int(strength) // int(max_strength))
elif strength not in ["", None]: elif strength not in ["", None]: