diff --git a/slip/dbus/polkit.py b/slip/dbus/polkit.py index 08aaa51..83b6519 100644 --- a/slip/dbus/polkit.py +++ b/slip/dbus/polkit.py @@ -186,17 +186,17 @@ class PolKit(object): @property def _interface(self): if not PolKit.__interface: - PolKit.__interface = dbus.Interface(self._bus.get_object( - self._dbus_name, self._dbus_path), - self._dbus_interface) + try: + PolKit.__interface = dbus.Interface(self._bus.get_object( + self._dbus_name, self._dbus_path), + self._dbus_interface) + except dbus.DBusException: + pass return PolKit.__interface @property def _polkit_present(self): - try: - return bool(self._interface) - except dbus.DBusException: - return False + return bool(self._interface) def __dbus_system_bus_name_uid(self, system_bus_name): bus_object = self._bus.get_object('org.freedesktop.DBus', @@ -237,7 +237,7 @@ class PolKit(object): challenge=True, details={}): if not self._polkit_present: - reply_handler(action_id is None or + return reply_handler(action_id is None or self.__dbus_system_bus_name_uid(system_bus_name) == 0) flags = 0