diff options
author | Jörg Sommer <joerg@alea.gnuu.de> | 2017-04-20 00:43:28 +0300 |
---|---|---|
committer | Jörg Sommer <joerg@alea.gnuu.de> | 2017-04-20 00:43:28 +0300 |
commit | 77e197843e9037e5ad0a3d3d5208b41a06e908a6 (patch) | |
tree | 1f4a6639477e5f0288cfe27709c5c42eea1b265d | |
parent | 8f8fde670457d3d5d5d0515a75657ff20151b761 (diff) |
network_watcher: Refactor account connection update
Put the common code for connection update in one function, what makes it
more reusable.
-rw-r--r-- | src/network_watcher.py | 58 |
1 files changed, 21 insertions, 37 deletions
diff --git a/src/network_watcher.py b/src/network_watcher.py index ff9d61570..c6c3687bd 100644 --- a/src/network_watcher.py +++ b/src/network_watcher.py @@ -23,30 +23,8 @@ from common import gajim - -def device_now_active(self, *args): - """ - For Network Manager 0.6 - """ - for connection in gajim.connections.itervalues(): - if gajim.config.get_per('accounts', connection.name, - 'listen_to_network_manager') and connection.time_to_reconnect: - connection._reconnect() - -def device_no_longer_active(self, *args): - """ - For Network Manager 0.6 - """ - for connection in gajim.connections.itervalues(): - if gajim.config.get_per('accounts', connection.name, - 'listen_to_network_manager') and connection.connected > 1: - connection._disconnectedReconnCB() - -def state_changed(state): - """ - For Network Manager 0.7 - 0.9 - """ - if state == 70: +def update_accounts(connection_is_up): + if connection_is_up: for connection in gajim.connections.itervalues(): if gajim.config.get_per('accounts', connection.name, 'listen_to_network_manager') and connection.time_to_reconnect: @@ -64,37 +42,43 @@ from common import dbus_support if dbus_support.supported: import dbus - try: - from common.dbus_support import system_bus + from common.dbus_support import system_bus - bus = system_bus.bus() + bus = system_bus.bus() - if 'org.freedesktop.NetworkManager' in bus.list_names(): + if 'org.freedesktop.NetworkManager' in bus.list_names(): + try: + """ + For Network Manager 0.7 - 0.9 + """ nm_object = bus.get_object('org.freedesktop.NetworkManager', - '/org/freedesktop/NetworkManager') + '/org/freedesktop/NetworkManager') props = dbus.Interface(nm_object, "org.freedesktop.DBus.Properties") - bus.add_signal_receiver(state_changed, + + bus.add_signal_receiver(lambda state: update_accounts(connection_is_up = state == 70), 'StateChanged', 'org.freedesktop.NetworkManager', 'org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager') supported = True - except dbus.DBusException: - try: - if 'org.freedesktop.NetworkManager' in bus.list_names(): + except dbus.DBusException: + try: + """ + For Network Manager 0.6 + """ supported = True - bus.add_signal_receiver(device_no_longer_active, + bus.add_signal_receiver(lambda *args: update_accounts(connection_is_up = False), 'DeviceNoLongerActive', 'org.freedesktop.NetworkManager', 'org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager') - bus.add_signal_receiver(device_now_active, + bus.add_signal_receiver(lambda *args: update_accounts(connection_is_up = True), 'DeviceNowActive', 'org.freedesktop.NetworkManager', 'org.freedesktop.NetworkManager', '/org/freedesktop/NetworkManager') - except Exception: - pass + except Exception: + pass |