Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Sommer <joerg@alea.gnuu.de>2017-04-20 00:43:28 +0300
committerJörg Sommer <joerg@alea.gnuu.de>2017-04-20 00:43:28 +0300
commit77e197843e9037e5ad0a3d3d5208b41a06e908a6 (patch)
tree1f4a6639477e5f0288cfe27709c5c42eea1b265d
parent8f8fde670457d3d5d5d0515a75657ff20151b761 (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.py58
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