summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastien Estienne <sebastien.estienne@gmail.com>2007-02-25 12:58:18 +0000
committerSebastien Estienne <sebastien.estienne@gmail.com>2007-02-25 12:58:18 +0000
commit9e6147312711d30978b18961b44d8ec308f4c790 (patch)
tree07613e18afcb99b66cb168b233ead74e60126739
parent2b17e5e5425de214ac2b94c581d5083d59b31ffe (diff)
visual error message when we can't contact dbus
git-svn-id: file:///home/lennart/svn/public/service-discovery-applet/trunk@128 3be567f1-68ff-0310-b24a-ad7cc433fd2f
-rwxr-xr-xsrc/service-discovery-applet.in31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/service-discovery-applet.in b/src/service-discovery-applet.in
index d7de7ab..65da2b0 100755
--- a/src/service-discovery-applet.in
+++ b/src/service-discovery-applet.in
@@ -18,6 +18,8 @@ import subprocess
import sys
import pygtk
+import pprint
+
import sdapplet.pluginloader
import sdapplet.pluginutils
@@ -135,9 +137,15 @@ class SDAGconf:
#
class Notifications:
def __init__(self, applet):
- self.session_bus = dbus.SessionBus()
- obj = self.session_bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
- self.notif = dbus.Interface(obj, "org.freedesktop.Notifications")
+ try:
+ self.session_bus = dbus.SessionBus()
+ obj = self.session_bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
+ self.notif = dbus.Interface(obj, "org.freedesktop.Notifications")
+ except dbus.DBusException, e:
+ error_msg(_("<b>DBus Error:</b>\nCan't contact the session bus.\n\nNotifications won't work!"))
+ self.applet.show_notifications = False
+ pprint.pprint(e)
+ pass
self.applet = applet
@@ -165,7 +173,7 @@ class Notifications:
[], [], dbus.Int32(3000), dbus.UInt32(0))
except:
print "can't use notification daemon"
- pass
+ pass
###############################################################################
@@ -224,12 +232,17 @@ class ServiceDiscoveryApplet(gnomeapplet.Applet):
self.popup_control = applet.get_control()
#Start Service Discovery
self.domain = ""
- self.system_bus = dbus.SystemBus()
- self.server = dbus.Interface(self.system_bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER),
- avahi.DBUS_INTERFACE_SERVER)
+ try:
+ self.system_bus = dbus.SystemBus()
+ self.server = dbus.Interface(self.system_bus.get_object(avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER),
+ avahi.DBUS_INTERFACE_SERVER)
- self.system_bus.add_signal_receiver(self.avahi_dbus_connect_cb, "NameOwnerChanged", "org.freedesktop.DBus", arg0="org.freedesktop.Avahi")
-
+ self.system_bus.add_signal_receiver(self.avahi_dbus_connect_cb, "NameOwnerChanged", "org.freedesktop.DBus", arg0="org.freedesktop.Avahi")
+ except dbus.DBusException, e:
+ error_msg(_("<b>DBus Error:</b>\nCan't contact the system bus.\n\n Exiting..."))
+ pprint.pprint(e)
+ sys.exit(1)
+
try:
self.use_host_names = self.server.IsNSSSupportAvailable()
except: