
    af(                     J   d dl mZ d dlmZ dZe G d de                      Ze G d de                      Ze G d d	e                      Ze G d
 de                      Z	e G d de                      Z
e G d de                      Ze G d de                      Z eej                   G d de                      Z eej                   G d de                      Z eej                   G d de                      Z G d de          ZdS )    )public)error)ErrorSessionNotReadySerializationErrorInvalidUriErrorProtocolErrorTransportLostApplicationErrorNotAuthorized
InvalidUriInvalidPayloadTypeCheckErrorc                       e Zd ZdZdS )r   z8
    Base class for all exceptions related to WAMP.
    N__name__
__module____qualname____doc__     I/var/www/html/env/lib/python3.11/site-packages/autobahn/wamp/exception.pyr   r   .              r   r   c                       e Zd ZdZdS )r   zp
    The application tried to perform a WAMP interaction, but the
    session is not yet fully established.
    Nr   r   r   r   r   r   5              r   r   c                       e Zd ZdZdS )r   z
    Exception raised when the WAMP serializer could not serialize the
    application payload (``args`` or ``kwargs`` for ``CALL``, ``PUBLISH``, etc).
    Nr   r   r   r   r   r   =   r   r   r   c                       e Zd ZdZdS )r   z=
    Exception raised when an invalid WAMP URI was used.
    Nr   r   r   r   r   r   E   r   r   r   c                       e Zd ZdZdS )r	   z
    Exception raised when WAMP protocol was violated. Protocol errors
    are fatal and are handled by the WAMP implementation. They are
    not supposed to be handled at the application level.
    Nr   r   r   r   r	   r	   L   s           r   r	   c                       e Zd ZdZdS )r
   zk
    Exception raised when the transport underlying the WAMP session
    was lost or is not connected.
    Nr   r   r   r   r
   r
   U   r   r   r
   c                       e Zd ZdZdZ	 dZ	 dZ	 dZ	 dZ	 dZ		 dZ
	 d	Z	 d
Z	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 dZ	 d Ze d             Z!d Z"d  Z#d!S )"r   z]
    Base class for all exceptions that can/may be handled
    at the application level.
    zwamp.error.invalid_urizwamp.error.invalid_payloadz wamp.error.payload_size_exceededzwamp.error.no_such_procedurez#wamp.error.procedure_already_existsz<wamp.error.procedure_exists_with_different_invocation_policyzwamp.error.no_such_registrationzwamp.error.no_such_subscriptionzwamp.error.no_such_sessionzwamp.error.invalid_argumentzwamp.error.system_shutdownzwamp.error.close_realmzwamp.error.goodbye_and_outzwamp.error.not_authorizedzwamp.error.authorization_failedz wamp.error.authentication_failedzwamp.error.no_auth_methodzwamp.error.no_such_realmzwamp.error.no_such_rolezwamp.error.no_such_principalzwamp.error.canceledzwamp.error.timeoutzwamp.error.no_eligible_calleezwamp.error.no_payload_codecz*wamp.error.encryption.trusted_uri_mismatchz#wamp.error.encryption.decrypt_errorzwamp.error.type_check_errorc                 T   t          j        | g|R   || _        || _        |                    dd          | _        |                    dd          | _        |                    dd          | _        |                    dd          | _        |                    dd          | _	        dS )z

        :param error: The URI of the error that occurred, e.g. ``wamp.error.not_authorized``.
        :type error: str
        enc_algoNcalleecallee_authidcallee_authroleforward_for)
	Exception__init__kwargsr   popr"   r#   r$   r%   r&   )selfr   argsr)   s       r   r(   zApplicationError.__init__  s     	4'$''''


:t44jj400#ZZ>>%zz*;TBB!::mT::r   c                 |    d                     | j        d                    d | j        D                                 S )zt
        Get the error message of this exception.

        :returns: The error message.
        :rtype: str
        z{0}: {1} c                 ,    g | ]}t          |          S r   )str).0as     r   
<listcomp>z2ApplicationError.error_message.<locals>.<listcomp>  s    000c!ff000r   )formatr   joinr,   r+   s    r   error_messagezApplicationError.error_message  sA       JHH00di00011
 
 	
r   c                     | j         r4d| j         v r+d| j                             d          z   dz   }d| j         d<   nd}d                    | j        t	          | j                  | j         | j        | j        | j        | j	        | j
        |	  	        S )N	tracebackz:

z... zApplicationError(error=<{0}>, args={1}, kwargs={2}, enc_algo={3}, callee={4}, callee_authid={5}, callee_authrole={6}, forward_for={7}){8})r)   r*   r4   r   listr,   r"   r#   r$   r%   r&   )r+   tbs     r   __unicode__zApplicationError.__unicode__  s    ; 	;$+55555<B',DK$$B [  b  bJTYdmT[RVRdfjfz  }A  }M  OQR R 	Rr   c                 *    |                                  S N)r>   r6   s    r   __str__zApplicationError.__str__'  s    !!!r   N)$r   r   r   r   INVALID_URIINVALID_PAYLOADPAYLOAD_SIZE_EXCEEDEDNO_SUCH_PROCEDUREPROCEDURE_ALREADY_EXISTS+PROCEDURE_EXISTS_INVOCATION_POLICY_CONFLICTNO_SUCH_REGISTRATIONNO_SUCH_SUBSCRIPTIONNO_SUCH_SESSIONINVALID_ARGUMENTSYSTEM_SHUTDOWNCLOSE_REALMGOODBYE_AND_OUTNOT_AUTHORIZEDAUTHORIZATION_FAILEDAUTHENTICATION_FAILEDNO_AUTH_METHODNO_SUCH_REALMNO_SUCH_ROLENO_SUCH_PRINCIPALCANCELEDTIMEOUTNO_ELIGIBLE_CALLEEENC_NO_PAYLOAD_CODECENC_TRUSTED_URI_MISMATCHENC_DECRYPT_ERRORTYPE_CHECK_ERRORr(   r   r7   r>   rA   r   r   r   r   r   ]   s        
 +K
 3O ?
 7
  E
 3q/
 = = 3O 5 3O
 +K
 3O 1N
 = ?
 1N /M
 -L 7 %H #G
 9 9
  L > 5
; ; ; 

 

 V

R R R" " " " "r   r   c                       e Zd ZdZdS )r   z:
    Not authorized to perform the respective action.
    Nr   r   r   r   r   r   +  r   r   r   c                       e Zd ZdZdS )r   J
    The URI for a topic, procedure or error is not a valid WAMP URI.
    Nr   r   r   r   r   r   2  r   r   r   c                       e Zd ZdZdS )r   r_   Nr   r   r   r   r   r   9  r   r   r   c                   "     e Zd ZdZ fdZ xZS )r   z{
    The URI for a topic published with invalid argument types or a
    procedure called with invalid arguments types.
    c                 V     t                      j        t          j        g|R i | d S r@   )superr(   r   r\   )r+   r,   r)   	__class__s      r   r(   zTypeCheckError.__init__E  s4    ):LTLLLVLLLLLr   )r   r   r   r   r(   __classcell__)rd   s   @r   r   r   @  sK         M M M M M M M M Mr   r   N)autobahn.utilr   autobahn.wamp.urir   __all__RuntimeErrorr   r   r   r   r	   r
   r   rO   r'   r   rB   r   rC   r   r   r   r   r   <module>rj      s  8 !           # # # # # #     L        e                e        E        E    J" J" J" J" J"u J" J" J"Z &''    I   (' #$$       %$ '((    Y   )(M M M M M% M M M M Mr   