HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //usr/lib/python3.6/site-packages/pydbus/method_call_context.py
from gi.repository import GLib
from collections import namedtuple

AuthorizationResult = namedtuple("AuthorizationResult", "is_authorized is_challenge details")

class MethodCallContext(object):
	def __init__(self, gdbus_method_invocation):
		self._mi = gdbus_method_invocation

	@property
	def bus(self):
		return self._mi.get_connection().pydbus

	@property
	def sender(self):
		return self._mi.get_sender()

	@property
	def object_path(self):
		return self._mi.get_object_path()

	@property
	def interface_name(self):
		return self._mi.get_interface_name()

	@property
	def method_name(self):
		return self._mi.get_method_name()

	def check_authorization(self, action_id, details, interactive=False):
		return AuthorizationResult(*self.bus.polkit_authority.CheckAuthorization(('system-bus-name', {'name': GLib.Variant("s", self.sender)}), action_id, details, 1 if interactive else 0, ''))

	def is_authorized(self, action_id, details, interactive=False):
		return self.check_authorization(action_id, details, interactive).is_authorized