Mercurial > libervia-backend
diff src/bridge/bridge_constructor/dbus_frontend_template.py @ 627:d207c2186519
core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
- new BridgeInitError and BridgeExceptionNoService are in core.exceptions
- D-Bus NotSupported is catched in bridge, and launch a BridgeInitError
- BridgeInitError stop SàT core, jp, and quick_frontends with an explanation message.
fix bug 27
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 21 Jun 2013 02:00:37 +0200 |
parents | 84a6e83157c2 |
children | 648511e42a69 |
line wrap: on
line diff
--- a/src/bridge/bridge_constructor/dbus_frontend_template.py Thu Jun 20 17:44:27 2013 +0200 +++ b/src/bridge/bridge_constructor/dbus_frontend_template.py Fri Jun 21 02:00:37 2013 +0200 @@ -20,6 +20,7 @@ from bridge_frontend import BridgeFrontend import dbus from logging import debug, error +from sat.core.exceptions import BridgeExceptionNoService, BridgeInitError from dbus.mainloop.glib import DBusGMainLoop DBusGMainLoop(set_as_default=True) @@ -31,10 +32,6 @@ const_PLUGIN_SUFFIX = ".plugin" -class BridgeExceptionNoService(Exception): - pass - - class DBusBridgeFrontend(BridgeFrontend): def __init__(self): try: @@ -48,6 +45,9 @@ except dbus.exceptions.DBusException, e: if e._dbus_error_name == 'org.freedesktop.DBus.Error.ServiceUnknown': raise BridgeExceptionNoService + elif e._dbus_error_name == 'org.freedesktop.DBus.Error.NotSupported': + print u"D-Bus is not launched, please see README to see instructions on how to launch it" + raise BridgeInitError else: raise e #props = self.db_core_iface.getProperties()