AnonSec Shell
Server IP : 92.204.138.22  /  Your IP : 3.137.184.228
Web Server : Apache
System : Linux ns1009439.ip-92-204-138.us 4.18.0-553.8.1.el8_10.x86_64 #1 SMP Tue Jul 2 07:26:33 EDT 2024 x86_64
User : internationaljou ( 1019)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.6/site-packages/pydbus/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /usr/lib/python3.6/site-packages/pydbus//error.py
from gi.repository import GLib, Gio


def register_error(name, domain, code):
	"""Register and map decorated exception class to a DBus error."""
	def decorated(cls):
		error_registration.register_error(cls, name, domain, code)
		return cls

	return decorated


def map_error(error_name):
	"""Map decorated exception class to a DBus error."""
	def decorated(cls):
		error_registration.map_error(cls, error_name)
		return cls

	return decorated


def map_by_default(cls):
	"""Map decorated exception class to all unknown DBus errors."""
	error_registration.map_by_default(cls)
	return cls


class ErrorRegistration(object):
	"""Class for mapping exceptions to DBus errors."""

	_default = None
	_map = dict()
	_reversed_map = dict()

	def map_by_default(self, exception_cls):
		"""Set the exception class as a default."""
		self._default = exception_cls

	def map_error(self, exception_cls, name):
		"""Map the exception class to a DBus name."""
		self._map[name] = exception_cls
		self._reversed_map[exception_cls] = name

	def register_error(self, exception_cls, name, domain, code):
		"""Map and register the exception class to a DBus name."""
		self.map_error(exception_cls, name)
		return Gio.DBusError.register_error(domain, code, name)

	def is_registered_exception(self, obj):
		"""Is the exception registered?"""
		return obj.__class__ in self._reversed_map

	def get_dbus_name(self, obj):
		"""Get the DBus name of the exception."""
		return self._reversed_map.get(obj.__class__)

	def get_exception_class(self, name):
		"""Get the exception class mapped to the DBus name."""
		return self._map.get(name, self._default)

	def transform_message(self, name, message):
		"""Transform the message of the exception."""
		prefix = "{}:{}: ".format("GDBus.Error", name)

		if message.startswith(prefix):
			return message[len(prefix):]

		return message

	def transform_exception(self, e):
		"""Transform the remote error to the exception."""
		if not isinstance(e, GLib.Error):
			return e

		if not Gio.DBusError.is_remote_error(e):
			return e

		# Get DBus name of the error.
		name = Gio.DBusError.get_remote_error(e)
		# Get the exception class.
		exception_cls = self.get_exception_class(name)

		# Return the original exception.
		if not exception_cls:
			return e

		# Return new exception.
		message = self.transform_message(name, e.message)
		exception = exception_cls(message)
		exception.dbus_name = name
		exception.dbus_domain = e.domain
		exception.dbus_code = e.code
		return exception


# Default error registration.
error_registration = ErrorRegistration()

Anon7 - 2022
AnonSec Team