U
    d                  ?   @   s  d Z ddlmZmZ d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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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G d.d/ d/eZG d0d1 d1eZG d2d3 d3eZG d4d5 d5eZG d6d7 d7eZ G d8d9 d9eZ!G d:d; d;eZ"eeeeeeeeeeeeeee e!e"d<Z#d=d> Z$d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}>Z%e&e%' D ]$\Z(Z)e)e%ed~ede( d < qdS )zExceptions used by amqp.    )packunpack)	AMQPErrorConnectionErrorChannelErrorRecoverableConnectionErrorIrrecoverableConnectionErrorRecoverableChannelErrorIrrecoverableChannelErrorConsumerCancelledContentTooLargeNoConsumersConnectionForcedInvalidPathAccessRefusedNotFoundResourceLockedPreconditionFailed
FrameErrorFrameSyntaxErrorInvalidCommandChannelNotOpenUnexpectedFrameResourceError
NotAllowedAMQPNotImplementedErrorInternalErrorMessageNackedAMQPDeprecationWarningc                   @   s   e Zd ZdZdS )r   zWarning for deprecated things.N__name__
__module____qualname____doc__ r$   r$   3/tmp/pip-unpacked-wheel-sfh45kzb/amqp/exceptions.pyr      s   r   c                   @   s   e Zd ZdZdS )r   zMessage was nacked by broker.Nr   r$   r$   r$   r%   r      s   r   c                   @   s2   e Zd ZdZdZd
ddZdd Zedd	 ZdS )r   z#Base class for all AMQP exceptions.r   Nc                 C   sX   || _ |p| j| _|| _|| _|p$d| _|r@| js@t|d| _t	| |||| j d S )N )
messagecode
reply_code
reply_text
method_sigmethod_nameMETHOD_NAME_MAPget	Exception__init__)selfr*   r+   r,   r)   r$   r$   r%   r0   "   s    

  zAMQPError.__init__c                 C   s&   | j rd| S | jp$dt| jS )Nz+{0.method}: ({0.reply_code}) {0.reply_text}z<{}: unknown error>)methodformatr*   typer    r1   r$   r$   r%   __str__.   s
    

zAMQPError.__str__c                 C   s   | j p
| jS )N)r,   r+   r5   r$   r$   r%   r2   5   s    zAMQPError.method)NNNN)	r    r!   r"   r#   r(   r0   r6   propertyr2   r$   r$   r$   r%   r      s       
r   c                   @   s   e Zd ZdZdS )r   zAMQP Connection Error.Nr   r$   r$   r$   r%   r   :   s   r   c                   @   s   e Zd ZdZdS )r   zAMQP Channel Error.Nr   r$   r$   r$   r%   r   >   s   r   c                   @   s   e Zd ZdZdS )r	   z/Exception class for recoverable channel errors.Nr   r$   r$   r$   r%   r	   B   s   r	   c                   @   s   e Zd ZdZdS )r
   z1Exception class for irrecoverable channel errors.Nr   r$   r$   r$   r%   r
   F   s   r
   c                   @   s   e Zd ZdZdS )r   z2Exception class for recoverable connection errors.Nr   r$   r$   r$   r%   r   J   s   r   c                   @   s   e Zd ZdZdS )r   z4Exception class for irrecoverable connection errors.Nr   r$   r$   r$   r%   r   N   s   r   c                   @   s   e Zd ZdZdS )Blockedz"AMQP Connection Blocked Predicate.Nr   r$   r$   r$   r%   r8   R   s   r8   c                   @   s   e Zd ZdZdS )r   z"AMQP Consumer Cancelled Predicate.Nr   r$   r$   r$   r%   r   V   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Content Too Large Error.7  Nr    r!   r"   r#   r(   r$   r$   r$   r%   r   Z   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP No Consumers Error.9  Nr:   r$   r$   r$   r%   r   `   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Connection Forced Error.@  Nr:   r$   r$   r$   r%   r   f   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Invalid Path Error.  Nr:   r$   r$   r$   r%   r   l   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Access Refused Error.  Nr:   r$   r$   r$   r%   r   r   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Not Found Error.  Nr:   r$   r$   r$   r%   r   x   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Resource Locked Error.  Nr:   r$   r$   r$   r%   r   ~   s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Precondition Failed Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Frame Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Frame Syntax Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Invalid Command Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Channel Not Open Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Unexpected Frame.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Resource Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Not Allowed Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Not Implemented Error.  Nr:   r$   r$   r$   r%   r      s   r   c                   @   s   e Zd ZdZdZdS )r   zAMQP Internal Error.  Nr:   r$   r$   r$   r%   r      s   r   )r9   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   c                 C   s<   zt |  ||| dW S  tk
r6   |||| d Y S X d S )N)r)   )	ERROR_MAPKeyError)r(   textr2   defaultr$   r$   r%   error_for_code   s    rO   zConnection.startzConnection.start_okzConnection.securezConnection.secure_okzConnection.tunezConnection.tune_okzConnection.openzConnection.open_okzConnection.closezConnection.close_okzChannel.openzChannel.open_okzChannel.flowzChannel.flow_okzChannel.closezChannel.close_okzAccess.requestzAccess.request_okzExchange.declarezExchange.declare_okzExchange.deletezExchange.delete_okzExchange.bindzExchange.bind_okzExchange.unbindzExchange.unbind_okzQueue.declarezQueue.declare_okz
Queue.bindzQueue.bind_okzQueue.purgezQueue.purge_okzQueue.deletezQueue.delete_okzQueue.unbindzQueue.unbind_okz	Basic.qoszBasic.qos_okzBasic.consumezBasic.consume_okzBasic.cancelzBasic.cancel_okzBasic.publishzBasic.returnzBasic.deliverz	Basic.getzBasic.get_okzBasic.get_emptyz	Basic.ackzBasic.rejectzBasic.recover_asynczBasic.recoverzBasic.recover_okz
Basic.nackz	Tx.selectzTx.select_okz	Tx.commitzTx.commit_okzTx.rollbackzTx.rollback_okzConfirm.selectzConfirm.select_ok)>)
   rP   )rP      )rP      )rP      )rP      )rP      )rP   (   )rP   )   )rP   2   )rP   3   )rR   rP   )rR   rQ   )rR   rR   )rR   rS   )rR   rV   )rR   rW   )rT   rP   )rT   rQ   )rV   rP   )rV   rQ   )rV   rR   )rV   rS   )rV   rT   )rV   rU   )rV   rV   )rV   rW   )rX   rP   )rX   rQ   )rX   rR   )rX   rS   )rX   rT   )rX   rU   )rX   rV   )rX   rW   )rX   rX   )rX   rY   )<   rP   )rZ   rQ   )rZ   rR   )rZ   rS   )rZ   rT   )rZ   rU   )rZ   rV   )rZ   rX   )rZ   rZ   )rZ   F   )rZ   G   )rZ   H   )rZ   P   )rZ   Z   )rZ   d   )rZ   n   )rZ   o   )rZ   x   )r_   rP   )r_   rQ   )r_   rR   )r_   rS   )r_   rT   )r_   rU   )U   rP   )rd   rQ   z>I>HHN)re   )*r#   structr   r   __all__UserWarningr   r/   r   r   r   r   r	   r
   r   r   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rK   rO   r-   listitemsZ
_method_idZ_method_namer$   r$   r$   r%   <module>   s   B