U
    º±K^c  ã                   @   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                   @   s8   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   sX   |  dd ¡}|d k	s$t| dd ƒd kr*|| _|rDtdd | ¡ ¡ ƒ‚tj| f|žŽ  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   sF   t | jƒdkrt| jƒ}nd | j¡}| jdk	r>d| j|f S |S d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k	r"d| j|f S |S d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ƒ}q6t| jƒ}nd | j¡}t|tƒrL| 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                   @   s   e Zd ZdZdd„ ZdS )r   Tc                 C   s   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   s    z%MissingErrorHandlerException.__init__N©r)   r*   r+   r,   r   r   r   r   r   r   _   s   r   c                   @   s   e Zd ZdZdd„ ZdS )r   Tc                 C   s   t  | d¡ d S )Nz^reply_handler not defined: if you define an error_handler you must also define a reply_handlerr-   r'   r   r   r   r   j   s    z%MissingReplyHandlerException.__init__Nr.   r   r   r   r   r   f   s   r   c                   @   s   e Zd ZdZddd„ZdS )r   Tr   c                 C   s   t  | d| ¡ d S )NzError validating string: %sr-   ©r   Úmsgr   r   r   r   q   s    zValidationException.__init__N)r   r.   r   r   r   r   r   m   s   r   c                   @   s   e Zd ZdZddd„ZdS )r   Tr   c                 C   s   t  | d| ¡ d S )Nz!Error parsing introspect data: %sr-   r/   r   r   r   r   x   s    z%IntrospectionParserException.__init__N)r   r.   r   r   r   r   r   t   s   r   c                   @   s   e Zd ZdZdZdd„ ZdS )r   Tz(org.freedesktop.DBus.Error.UnknownMethodc                 C   s   t  | d| ¡ d S )NzUnknown method: %sr-   )r   Úmethodr   r   r   r   €   s    zUnknownMethodException.__init__N)r)   r*   r+   r,   r   r   r   r   r   r   r   {   s   r   c                   @   s   e Zd ZdZdd„ ZdS )r   Tc                 C   s   t  | d| ¡ d S )NzBus name already exists: %sr-   )r   r
   r   r   r   r   ‡   s    zNameExistsException.__init__Nr.   r   r   r   r   r   ƒ   s   r   N)Ú__doc__Ú__all__Zdbus._compatr	   r   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s   <