File: //lib/python3/dist-packages/dbus/__pycache__/exceptions.cpython-312.pyc
�
    @ia  �                   �   � d Z dZddlmZ  G d� de�      Z G d� de�      Z G d� d	e�      Z G d
� de�      Z G d� d
e�      Z	 G d� de�      Z
 G d� de�      Zy)zD-Bus exceptions.)�
DBusException�MissingErrorHandlerException�MissingReplyHandlerException�ValidationException�IntrospectionParserException�UnknownMethodException�NameExistsException�    )�is_py3c                   �0   � e Zd ZdZ	 d� Zd� Zd� Zd� Zd� Zy)r   Fc                 ��   � |j                  dd �      }|�
t        | dd �      �|| _        |r+t        ddj	                  |j                  �       �      z  �      �t
        j                  | g|���  y )N�name�_dbus_error_namez1DBusException does not take keyword arguments: %sz, )�pop�getattrr   �	TypeError�join�keys�	Exception�__init__)�self�args�kwargsr
   s       �1/usr/lib/python3/dist-packages/dbus/exceptions.pyr   zDBusException.__init__/   sl   � ��z�z�&�$�'����w�t�-?��F�N�$(�D�!���O�"�i�i����
�6�7� 8� 
8����4�'�$�'�    c                 ��   � t        | j                  �      dkD  rt        | j                  �      }ndj                  | j                  �      }| j                  �| j                  �d|��S |S )zReturn a unicode error�   � �: )�lenr   �unicoder   r   �r   �ss     r   �__unicode__zDBusException.__unicode__8   sV   � � �t�y�y�>�A����	�	�"�A�����	�	�"�A�� � �,�#�4�4�a�8�8��Hr   c                 �j   � t         j                  | �      }| j                  �| j                  �d|��S |S )zReturn a str errorr   )r   �__str__r   r!   s     r   r%   zDBusException.__str__F   s4   � ����d�#��� � �,�#�4�4�a�8�8��Hr   c                 ��   � t        | j                  �      dkD  rt        | j                  �      }ndj                  | j                  �      }t	        |t
        �      r|j
                  dd�      S |S )Nr   r   zutf-8�replace)r   r   �strr   �
isinstance�bytes�decoder!   s     r   �get_dbus_messagezDBusException.get_dbus_messageN   sQ   � ��t�y�y�>�A���D�I�I��A�����	�	�"�A��a����8�8�G�Y�/�/��r   c                 �   � | j                   S )N)r   �r   s    r   �
get_dbus_namezDBusException.get_dbus_nameY   s   � ��$�$�$r   N)	�__name__�
__module__�__qualname__�include_tracebackr   r#   r%   r,   r/   � r   r   r   r   #   s&