def dbus_method(path, method, *arguments):
"""Invokes dbus method
Invokes method with arguments via dbus.
@param method Dbus method
@param arguments Dictionary of arguments for the method
@return Always None
"""
try:
bus = dbus.SessionBus()
bus_name = dbus.service.BusName(path, bus=bus)
obj = bus.get_object(bus_name.get_name(), "/{}".format(path.replace(".", "/")))
remote_method = obj.get_dbus_method(method, path)
remote_method(*arguments)
except Exception as e:
logger.error('common.swm: dbus_method(%s, %s): Exception: %s', path, method, e)
return None
评论列表
文章目录