diff options
Diffstat (limited to 'src/jarabe/model/olpcmesh.py')
-rw-r--r-- | src/jarabe/model/olpcmesh.py | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/jarabe/model/olpcmesh.py b/src/jarabe/model/olpcmesh.py index cbd7ddd..f070100 100644 --- a/src/jarabe/model/olpcmesh.py +++ b/src/jarabe/model/olpcmesh.py @@ -1,4 +1,4 @@ -# Copyright (C) 2009 One Laptop per Child +# Copyright (C) 2009, 2010 One Laptop per Child # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,13 +24,14 @@ from jarabe.model.network import Settings from jarabe.model.network import OlpcMesh as OlpcMeshSettings from sugar.util import unique_id + _NM_SERVICE = 'org.freedesktop.NetworkManager' _NM_IFACE = 'org.freedesktop.NetworkManager' _NM_PATH = '/org/freedesktop/NetworkManager' _NM_DEVICE_IFACE = 'org.freedesktop.NetworkManager.Device' _NM_OLPC_MESH_IFACE = 'org.freedesktop.NetworkManager.Device.OlpcMesh' -_XS_ANYCAST = "\xc0\x27\xc0\x27\xc0\x00" +_XS_ANYCAST = '\xc0\x27\xc0\x27\xc0\x00' DEVICE_STATE_UNKNOWN = 0 DEVICE_STATE_UNMANAGED = 1 @@ -43,6 +44,7 @@ DEVICE_STATE_IP_CONFIG = 7 DEVICE_STATE_ACTIVATED = 8 DEVICE_STATE_FAILED = 9 + class OlpcMeshManager(object): def __init__(self, mesh_device): self._bus = dbus.SystemBus() @@ -56,14 +58,12 @@ class OlpcMeshManager(object): """ - props = dbus.Interface(self.mesh_device, - 'org.freedesktop.DBus.Properties') + props = dbus.Interface(self.mesh_device, dbus.PROPERTIES_IFACE) props.Get(_NM_DEVICE_IFACE, 'State', reply_handler=self.__get_mesh_state_reply_cb, error_handler=self.__get_state_error_cb) - props = dbus.Interface(self.eth_device, - 'org.freedesktop.DBus.Properties') + props = dbus.Interface(self.eth_device, dbus.PROPERTIES_IFACE) props.Get(_NM_DEVICE_IFACE, 'State', reply_handler=self.__get_eth_state_reply_cb, error_handler=self.__get_state_error_cb) @@ -83,13 +83,12 @@ class OlpcMeshManager(object): self._eth_device_state = DEVICE_STATE_UNKNOWN if self._have_configured_connections(): - self._start_automesh() - else: self._start_automesh_timer() + else: + self._start_automesh() def _get_companion_device(self): - props = dbus.Interface(self.mesh_device, - 'org.freedesktop.DBus.Properties') + props = dbus.Interface(self.mesh_device, dbus.PROPERTIES_IFACE) eth_device_o = props.Get(_NM_OLPC_MESH_IFACE, 'Companion') return self._bus.get_object(_NM_SERVICE, eth_device_o) @@ -119,7 +118,7 @@ class OlpcMeshManager(object): def __eth_device_state_changed_cb(self, new_state, old_state, reason): """If a connection is activated on the eth device, stop trying our automatic connections. - + """ self._eth_device_state = new_state self._maybe_schedule_idle_check() @@ -147,7 +146,7 @@ class OlpcMeshManager(object): def _idle_check(self): if self._mesh_device_state == DEVICE_STATE_DISCONNECTED \ and self._eth_device_state == DEVICE_STATE_DISCONNECTED: - logging.debug("starting automesh due to inactivity") + logging.debug('starting automesh due to inactivity') self._start_automesh() return False @@ -170,8 +169,8 @@ class OlpcMeshManager(object): logging.error('Failed to activate connection: %s', err) def _activate_connection(self, channel, anycast_address=None): - logging.debug("activate channel %d anycast %s", - (channel, repr(anycast_address))) + logging.debug('activate channel %d anycast %r', + channel, anycast_address) proxy = self._bus.get_object(_NM_SERVICE, _NM_PATH) network_manager = dbus.Interface(proxy, _NM_IFACE) connection = self._make_connection(channel, anycast_address) @@ -211,4 +210,3 @@ class OlpcMeshManager(object): self._connection_queue.append((6, _XS_ANYCAST)) self._connection_queue.append((1, _XS_ANYCAST)) self._try_next_connection_from_queue() - |