Mercurial > libervia-backend
diff libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_core_template.py @ 4270:0d7bb4df2343
Reformatted code base using black.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 19 Jun 2024 18:44:57 +0200 |
parents | 4b842c1fb686 |
children |
line wrap: on
line diff
--- a/libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_core_template.py Tue Jun 18 12:06:45 2024 +0200 +++ b/libervia/backend/bridge/bridge_constructor/constructors/dbus/dbus_core_template.py Wed Jun 19 18:44:57 2024 +0200 @@ -31,10 +31,8 @@ # Interface prefix const_INT_PREFIX = config.config_get( - config.parse_main_conf(), - "", - "bridge_dbus_int_prefix", - "org.libervia.Libervia") + config.parse_main_conf(), "", "bridge_dbus_int_prefix", "org.libervia.Libervia" +) const_ERROR_PREFIX = const_INT_PREFIX + ".error" const_OBJ_PATH = "/org/libervia/Libervia/bridge" const_CORE_SUFFIX = ".core" @@ -88,12 +86,10 @@ core_iface = DBusInterface( const_INT_PREFIX + const_CORE_SUFFIX, -##METHODS_DECLARATIONS_PART## -##SIGNALS_DECLARATIONS_PART## + ##METHODS_DECLARATIONS_PART## + ##SIGNALS_DECLARATIONS_PART## ) - plugin_iface = DBusInterface( - const_INT_PREFIX + const_PLUGIN_SUFFIX - ) + plugin_iface = DBusInterface(const_INT_PREFIX + const_PLUGIN_SUFFIX) dbusInterfaces = [core_iface, plugin_iface] @@ -116,8 +112,10 @@ d.addErrback(GenericException.create_and_raise) return d + ##METHODS_PART## + class bridge: def __init__(self): @@ -140,7 +138,7 @@ conn.exportObject(self._obj) await conn.requestBusName(const_INT_PREFIX) -##SIGNALS_PART## + ##SIGNALS_PART## def register_method(self, name, callback): log.debug(f"registering DBus bridge method [{name}]") self._obj.register_method(name, callback) @@ -149,7 +147,7 @@ self._obj.emitSignal(name, *args) def add_method( - self, name, int_suffix, in_sign, out_sign, method, async_=False, doc={} + self, name, int_suffix, in_sign, out_sign, method, async_=False, doc={} ): """Dynamically add a method to D-Bus bridge""" # FIXME: doc parameter is kept only temporary, the time to remove it from calls @@ -157,10 +155,12 @@ self._obj.plugin_iface.addMethod( Method(name, arguments=in_sign, returns=out_sign) ) + # we have to create a method here instead of using partialmethod, because txdbus # uses __func__ which doesn't work with partialmethod def caller(self_, *args, **kwargs): return self_._callback(name, *args, **kwargs) + setattr(self._obj, f"dbus_{name}", MethodType(caller, self._obj)) self.register_method(name, method)