diff --git a/libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_frontend_template.py b/libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_frontend_template.py index 38431e4e..b8c92174 100644 --- a/libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_frontend_template.py +++ b/libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_frontend_template.py @@ -155,6 +155,10 @@ class bridge: ) return d + def _errback(self, failure_): + """Convert Failure to BridgeException""" + raise dbus_to_bridge_exception(failure_) + def call(self, name: str, *args, **kwargs): """Call a remote method. @@ -271,6 +275,7 @@ class AIOBridge(bridge): @param name: name of the bridge method """ d = super().call(name, *args, **kwargs) + d.addErrback(self._errback) return d.asFuture(asyncio.get_event_loop()) async def bridge_connect(self): @@ -336,10 +341,6 @@ class TwistedBridge(bridge): """ pass - def _errback(self, failure_): - """Convert Failure to BridgeException""" - raise dbus_to_bridge_exception(failure_) - def call(self, name, *args, **kwargs): """Call a remote method and return a Deferred. diff --git a/libervia/frontends/bridge/dbus_bridge.py b/libervia/frontends/bridge/dbus_bridge.py index 3bac5f7d..4efa1844 100644 --- a/libervia/frontends/bridge/dbus_bridge.py +++ b/libervia/frontends/bridge/dbus_bridge.py @@ -155,6 +155,10 @@ class bridge: ) return d + def _errback(self, failure_): + """Convert Failure to BridgeException""" + raise dbus_to_bridge_exception(failure_) + def call(self, name: str, *args, **kwargs): """Call a remote method. @@ -953,6 +957,7 @@ class AIOBridge(bridge): @param name: name of the bridge method """ d = super().call(name, *args, **kwargs) + d.addErrback(self._errback) return d.asFuture(asyncio.get_event_loop()) async def bridge_connect(self): @@ -1018,10 +1023,6 @@ class TwistedBridge(bridge): """ pass - def _errback(self, failure_): - """Convert Failure to BridgeException""" - raise dbus_to_bridge_exception(failure_) - def call(self, name, *args, **kwargs): """Call a remote method and return a Deferred.