o
    ñt3bc  ã                   @   sˆ   d Z dZddlmZ G dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZdS )zD-Bus exceptions.)ÚDBusExceptionÚMissingErrorHandlerExceptionÚMissingReplyHandlerExceptionÚValidationExceptionÚIntrospectionParserExceptionÚUnknownMethodExceptionÚNameExistsExceptioné    )Úis_py3c                   @   s:   e Zd ZdZ	 dd„ Zdd„ Zdd„ Zdd	„ Zd
d„ ZdS )r   Fc                 O   sZ   |  dd ¡}|d ust| dd ƒd u r|| _|r"tdd | ¡ ¡ ƒ‚tj| g|¢R Ž  d S )NÚnameÚ_dbus_error_namez1DBusException does not take keyword arguments: %sz, )ÚpopÚgetattrr   Ú	TypeErrorÚjoinÚkeysÚ	ExceptionÚ__init__)ÚselfÚargsÚkwargsr
   © r   ú1/usr/lib/python3/dist-packages/dbus/exceptions.pyr   /   s   ÿzDBusException.__init__c                 C   sB   t | jƒdkrt| jƒ}nd | j¡}| jdurd| j|f S |S )zReturn a unicode erroré   Ú Nú%s: %s)Úlenr   Úunicoder   r   ©r   Úsr   r   r   Ú__unicode__8   s   
zDBusException.__unicode__c                 C   s&   t  | ¡}| jdurd| j|f S |S )zReturn a str errorNr   )r   Ú__str__r   r   r   r   r   r    F   s   

zDBusException.__str__c                 C   sP   t | jƒdkrtrt| jƒ}nt| jƒ}nd | j¡}t|tƒr&| dd¡S |S )Nr   r   zutf-8Úreplace)	r   r   r	   Ústrr   r   Ú
isinstanceÚbytesÚdecoder   r   r   r   Úget_dbus_messageN   s   
zDBusException.get_dbus_messagec                 C   s   | j S )N)r   ©r   r   r   r   Úget_dbus_name\   s   zDBusException.get_dbus_nameN)	Ú__name__Ú
__module__Ú__qualname__Úinclude_tracebackr   r   r    r&   r(   r   r   r   r   r   #   s    		r   c                   @   ó   e Zd ZdZdd„ ZdS )r   Tc                 C   ó   t  | d¡ d S )Nz^error_handler not defined: if you define a reply_handler you must also define an error_handler©r   r   r'   r   r   r   r   c   ó   z%MissingErrorHandlerException.__init__N©r)   r*   r+   r,   r   r   r   r   r   r   _   ó    r   c                   @   r-   )r   Tc                 C   r.   )Nz^reply_handler not defined: if you define an error_handler you must also define a reply_handlerr/   r'   r   r   r   r   j   r0   z%MissingReplyHandlerException.__init__Nr1   r   r   r   r   r   f   r2   r   c                   @   ó   e Zd ZdZddd„ZdS )r   Tr   c                 C   ó   t  | d| ¡ d S )NzError validating string: %sr/   ©r   Úmsgr   r   r   r   q   ó   zValidationException.__init__N©r   r1   r   r   r   r   r   m   ó    r   c                   @   r3   )r   Tr   c                 C   r4   )Nz!Error parsing introspect data: %sr/   r5   r   r   r   r   x   r7   z%IntrospectionParserException.__init__Nr8   r1   r   r   r   r   r   t   r9   r   c                   @   s   e Zd ZdZdZdd„ ZdS )r   Tz(org.freedesktop.DBus.Error.UnknownMethodc                 C   r4   )NzUnknown method: %sr/   )r   Úmethodr   r   r   r   €   r7   zUnknownMethodException.__init__N)r)   r*   r+   r,   r   r   r   r   r   r   r   {   s    r   c                   @   r-   )r   Tc                 C   r4   )NzBus name already exists: %sr/   )r   r
   r   r   r   r   ‡   r7   zNameExistsException.__init__Nr1   r   r   r   r   r   ƒ   r2   r   N)Ú__doc__Ú__all__Zdbus._compatr	   r   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s    <