Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions pydbus/proxy_method.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from gi.repository import GLib
from gi.repository import GLib, Gio
from .generic import bound_method
from .identifier import filter_identifier
from .timeout import timeout_to_glib
Expand Down Expand Up @@ -65,14 +65,19 @@ def __call__(self, instance, *args, **kwargs):

# Python 2 sux
for kwarg in kwargs:
if kwarg not in ("timeout",):
if kwarg not in ("timeout","interactive"):
raise TypeError(self.__qualname__ + " got an unexpected keyword argument '{}'".format(kwarg))
timeout = kwargs.get("timeout", None)
interactive = kwargs.get("interactive", False)
if interactive:
flag = Gio.DBusCallFlags.ALLOW_INTERACTIVE_AUTHORIZATION
else:
flag = 0

ret = instance._bus.con.call_sync(
instance._bus_name, instance._path,
self._iface_name, self.__name__, GLib.Variant(self._sinargs, args), GLib.VariantType.new(self._soutargs),
0, timeout_to_glib(timeout), None).unpack()
flag, timeout_to_glib(timeout), None).unpack()

if len(self._outargs) == 0:
return None
Expand Down