Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2009-12-24 15:08:09 (GMT)
committer Daniel Drake <dsd@laptop.org>2010-01-03 11:55:58 (GMT)
commit45af7d4bfac4e2b787af0f445ecdde2a9356e735 (patch)
treef38cba99135a1c0cdbc27a4f26b601e8675c138a
parent7d0821ad486fd80866fe2f855387943e1541587f (diff)
Only parse colors from ad-hoc network names that contain them (#1604)
-rw-r--r--extensions/deviceicon/network.py10
-rw-r--r--src/jarabe/desktop/meshbox.py10
2 files changed, 16 insertions, 4 deletions
diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py
index 585a053..dc14f9c 100644
--- a/extensions/deviceicon/network.py
+++ b/extensions/deviceicon/network.py
@@ -309,6 +309,11 @@ class WirelessDeviceView(ToolButton):
def __ap_properties_changed_cb(self, properties):
self._update_properties(properties)
+ def _name_encodes_colors(self):
+ """Match #XXXXXX,#YYYYYY at the end of the network name"""
+ return self._name[-7] == '#' and self._name[-8] == ',' \
+ and self._name[-15] == '#'
+
def _update_properties(self, properties):
if 'Mode' in properties:
self._mode = properties['Mode']
@@ -324,11 +329,12 @@ class WirelessDeviceView(ToolButton):
self._frequency = properties['Frequency']
if self._color == None:
- if self._mode == network.NM_802_11_MODE_ADHOC:
+ if self._mode == network.NM_802_11_MODE_ADHOC \
+ and self._name_encodes_colors():
encoded_color = self._name.split("#", 1)
if len(encoded_color) == 2:
self._color = xocolor.XoColor('#' + encoded_color[1])
- if self._mode == network.NM_802_11_MODE_INFRA:
+ else:
sh = sha.new()
data = self._name + hex(self._flags)
sh.update(data)
diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py
index 3a2123a..e7bba7b 100644
--- a/src/jarabe/desktop/meshbox.py
+++ b/src/jarabe/desktop/meshbox.py
@@ -86,11 +86,12 @@ class WirelessNetworkView(CanvasPulsingIcon):
self._connection = None
self._color = None
- if self._mode == network.NM_802_11_MODE_ADHOC:
+ if self._mode == network.NM_802_11_MODE_ADHOC \
+ and self._name_encodes_colors():
encoded_color = self._name.split("#", 1)
if len(encoded_color) == 2:
self._color = xocolor.XoColor('#' + encoded_color[1])
- if self._mode == network.NM_802_11_MODE_INFRA:
+ else:
sh = sha.new()
data = self._name + hex(self._flags)
sh.update(data)
@@ -142,6 +143,11 @@ class WirelessNetworkView(CanvasPulsingIcon):
path=self._device.object_path,
dbus_interface=_NM_WIRELESS_IFACE)
+ def _name_encodes_colors(self):
+ """Match #XXXXXX,#YYYYYY at the end of the network name"""
+ return self._name[-7] == '#' and self._name[-8] == ',' \
+ and self._name[-15] == '#'
+
def _create_palette(self):
icon_name = get_icon_state(_ICON_NAME, self._strength)
self._palette_icon = Icon(icon_name=icon_name,