def do_authenticate(self): if TweakSettings.get_power_user(): self.__class__.result = 1 self.emit("changed", 1) return policykit = self.session_bus.get_object("org.freedesktop.PolicyKit.AuthenticationAgent", "/") xid = self.widget.get_toplevel().window.xid if self.__class__.result: self.emit("changed", 1) return try: granted = policykit.ObtainAuthorization( "com.ubuntu-tweak.daemon", dbus.UInt32(xid), dbus.UInt32(os.getpid()) ) except dbus.exceptions.DBusException: self.emit("changed", 0) else: self.__class__.result = granted if self.__class__.result == 1: self.emit("changed", 1) else: self.emit("changed", 0)