From a1bf7363c7cf751bae69cd8d95fcdd132e8a721b Mon Sep 17 00:00:00 2001 From: Yann Leboulanger <asterix@lagaule.org> Date: Tue, 26 Jun 2007 20:59:30 +0000 Subject: [PATCH] better network_manager detection --- src/gajim.py | 5 ++--- src/network_manager_listener.py | 40 ++++++++++++++++----------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/gajim.py b/src/gajim.py index 3808697731..d0fcf0c7b2 100755 --- a/src/gajim.py +++ b/src/gajim.py @@ -2370,9 +2370,8 @@ class Interface: self.remote_ctrl = None if gajim.config.get('networkmanager_support') and dbus_support.supported: - try: - import network_manager_listener - except: + import network_manager_listener + if not network_manager_listener.supported: print >> sys.stderr, _('Network Manager support not available') self.show_vcard_when_connect = [] diff --git a/src/network_manager_listener.py b/src/network_manager_listener.py index aeeb13a345..00300232a7 100644 --- a/src/network_manager_listener.py +++ b/src/network_manager_listener.py @@ -27,23 +27,23 @@ def device_no_longer_active(self, *args): 'listen_to_network_manager') and connection.connected > 1: connection._disconnectedReconnCB() - -from common.dbus_support import system_bus - -import dbus -import dbus.glib - -bus = system_bus.SystemBus() - -bus.add_signal_receiver(device_no_longer_active, - 'DeviceNoLongerActive', - 'org.freedesktop.NetworkManager', - 'org.freedesktop.NetworkManager', - '/org/freedesktop/NetworkManager') - -bus.add_signal_receiver(device_now_active, - 'DeviceNowActive', - 'org.freedesktop.NetworkManager', - 'org.freedesktop.NetworkManager', - '/org/freedesktop/NetworkManager') - +supported = False + +try: + from common.dbus_support import system_bus + + bus = system_bus.SystemBus() + + if 'org.freedesktop.NetworkManager' in bus.list_names(): + supported = True + bus.add_signal_receiver(device_no_longer_active, + 'DeviceNoLongerActive', + 'org.freedesktop.NetworkManager', + 'org.freedesktop.NetworkManager', + '/org/freedesktop/NetworkManager') + + bus.add_signal_receiver(device_now_active, + 'DeviceNowActive', + 'org.freedesktop.NetworkManager', + 'org.freedesktop.NetworkManager', + '/org/freedesktop/NetworkManager') -- GitLab