U
    ËZj�i  ã                	   @   s   d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ejjejjjejfejjejjjejfejjejjjejfejjejjjejfiZd	d
„ Zdd„ Zdd„ Zdd„ ZG dd„ dejƒZ G dd„ de	j!ej"ƒZ#dd„ Z$dd„ Z%dd„ Z&dd„ Z'dd„ Z(dd „ Z)G d!d"„ d"ej*ƒZ+G d#d$„ d$ej,ƒZ-G d%d&„ d&ej.ƒZ/G d'd(„ d(ej0ƒZ1G d)d*„ d*ej2ƒZ3G d+d,„ d,ej4ƒZ5d-d.„ Z6d/d0„ Z7dS )1zCTranslates gRPC's client-side API into gRPC's client-side Beta API.é    N)Ú_common)Ú	_metadata)Ú
interfaces)Úcardinality)Úfuture)Úfacec                 C   s(   | d krdn| }|d kr|S ||ƒS d S )N© r   )ÚmetadataÚmetadata_transformerZnon_none_metadatar   r   ú`/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/grpc/beta/_client_adaptations.pyÚ_effective_metadata.   s    r   c                 C   s   | d krd S | j S ©N)Úcredentials)Zgrpc_call_optionsr   r   r   Ú_credentials6   s    r   c                 C   sJ   |   ¡ }t |¡}|d kr$tjjjn|d }t ||  ¡ |  ¡ ||  	¡ ¡S )Nr   )
ÚcodeÚ6_STATUS_CODE_TO_ABORTION_KIND_AND_ABORTION_ERROR_CLASSÚgetr   ÚAbortionÚKindÚLOCAL_FAILUREÚinitial_metadataÚtrailing_metadataÚdetails)Úrpc_error_callr   ÚpairZ
error_kindr   r   r   Ú	_abortion:   s    
ûr   c                 C   sB   |   ¡ }t |¡}|d kr tjn|d }||  ¡ |  ¡ ||  ¡ ƒS )Né   )r   r   r   r   ZAbortionErrorr   r   r   )r   r   r   Zexception_classr   r   r   Ú_abortion_errorG   s    
ür   c                   @   s   e Zd Zdd„ ZdS )Ú_InvocationProtocolContextc                 C   s   d S r   r   ©Úselfr   r   r   Ú disable_next_request_compressionT   s    z;_InvocationProtocolContext.disable_next_request_compressionN)Ú__name__Ú
__module__Ú__qualname__r!   r   r   r   r   r   S   s   r   c                   @   sº   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zd,dd„Zd-dd„Z	d.dd„Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ Zd(d)„ Zd*d+„ ZdS )/Ú_Rendezvousc                 C   s   || _ || _|| _d S r   )Ú_futureÚ	_iteratorÚ_call)r    Úresponse_futureÚresponse_iteratorÚcallr   r   r   Ú__init__Y   s    z_Rendezvous.__init__c                 C   s
   | j  ¡ S r   )r(   Úcancelr   r   r   r   r-   ^   s    z_Rendezvous.cancelc                 C   s
   | j  ¡ S r   )r&   Ú	cancelledr   r   r   r   r.   a   s    z_Rendezvous.cancelledc                 C   s
   | j  ¡ S r   )r&   Úrunningr   r   r   r   r/   d   s    z_Rendezvous.runningc                 C   s
   | j  ¡ S r   )r&   Údoner   r   r   r   r0   g   s    z_Rendezvous.doneNc              
   C   sz   z| j j|d�W S  tjk
r< } zt|ƒ‚W 5 d }~X Y n: tjk
rX   t ¡ ‚Y n tjk
rt   t 	¡ ‚Y nX d S ©N)Útimeout)
r&   ÚresultÚgrpcÚRpcErrorr   ÚFutureTimeoutErrorr   ÚTimeoutErrorÚFutureCancelledErrorÚCancelledError©r    r2   r   r   r   r   r3   j   s    z_Rendezvous.resultc                 C   sj   z*| j j|d�}|d krW d S t|ƒW S W n: tjk
rH   t ¡ ‚Y n tjk
rd   t ¡ ‚Y nX d S r1   )	r&   Ú	exceptionr   r4   r6   r   r7   r8   r9   r:   r   r   r   r;   t   s    z_Rendezvous.exceptionc                 C   sP   z| j j|d�W S  tjk
r.   t ¡ ‚Y n tjk
rJ   t ¡ ‚Y nX d S r1   )r&   Ú	tracebackr4   r6   r   r7   r8   r9   )r    r2   r   r   r   r<   €   s    z_Rendezvous.tracebackc                    s   ˆj  ‡ ‡fdd„¡ d S )Nc                    s   ˆ ˆƒS r   r   )Zignored_callback©Úfnr    r   r   Ú<lambda>‰   ó    z/_Rendezvous.add_done_callback.<locals>.<lambda>)r&   Úadd_done_callback)r    r>   r   r=   r   rA   ˆ   s    z_Rendezvous.add_done_callbackc                 C   s   | S r   r   r   r   r   r   Ú__iter__‹   s    z_Rendezvous.__iter__c              
   C   s>   zt | jƒW S  tjk
r8 } zt|ƒ‚W 5 d }~X Y nX d S r   )Únextr'   r4   r5   r   )r    r   r   r   r   Ú_nextŽ   s    z_Rendezvous._nextc                 C   s   |   ¡ S r   ©rD   r   r   r   r   Ú__next__”   s    z_Rendezvous.__next__c                 C   s   |   ¡ S r   rE   r   r   r   r   rC   —   s    z_Rendezvous.nextc                 C   s
   | j  ¡ S r   )r(   Ú	is_activer   r   r   r   rG   š   s    z_Rendezvous.is_activec                 C   s
   | j  ¡ S r   )r(   Útime_remainingr   r   r   r   rH   �   s    z_Rendezvous.time_remainingc                    s(   ‡ ‡fdd„}ˆj  |¡}|r"d S |ƒ S )Nc                      s"   ˆ  ¡ tjjk	rˆ tˆjƒƒ d S r   )r   r4   Ú
StatusCodeÚOKr   r(   r   ©Úabortion_callbackr    r   r   Údone_callback¡   s    z8_Rendezvous.add_abortion_callback.<locals>.done_callback)r(   Zadd_callback)r    rL   rM   Ú
registeredr   rK   r   Úadd_abortion_callback    s    z!_Rendezvous.add_abortion_callbackc                 C   s   t ƒ S r   )r   r   r   r   r   Úprotocol_context¨   s    z_Rendezvous.protocol_contextc                 C   s   t  | j ¡ ¡S r   )r   Úbetar(   r   r   r   r   r   r   «   s    z_Rendezvous.initial_metadatac                 C   s   t  | j ¡ ¡S r   )r   rQ   r(   Úterminal_metadatar   r   r   r   rR   ®   s    z_Rendezvous.terminal_metadatac                 C   s
   | j  ¡ S r   )r(   r   r   r   r   r   r   ±   s    z_Rendezvous.codec                 C   s
   | j  ¡ S r   )r(   r   r   r   r   r   r   ´   s    z_Rendezvous.details)N)N)N)r"   r#   r$   r,   r-   r.   r/   r0   r3   r;   r<   rA   rB   rD   rF   rC   rG   rH   rO   rP   r   rR   r   r   r   r   r   r   r%   X   s*   



r%   c              
   C   sª   zx| j t ||¡|	|
d�}t||ƒ}|rZ|j||t |¡t|ƒd�\}}|td d |ƒfW S |||t |¡t|ƒd�W S W n, t	j
k
r¤ } zt|ƒ‚W 5 d }~X Y nX d S ©N)Úrequest_serializerÚresponse_deserializer)r2   r	   r   )Úunary_unaryr   Úfully_qualified_methodr   Ú	with_callr   Úunbetar   r%   r4   r5   r   )ÚchannelÚgroupÚmethodr2   rX   Úprotocol_optionsr	   r
   ÚrequestrT   rU   Úmulti_callableÚeffective_metadataÚresponser+   r   r   r   r   Ú_blocking_unary_unary¸   s.    
ý
ü
ürb   c
                 C   sJ   | j t ||¡||	d�}
t||ƒ}|
j||t |¡t|ƒd�}t|d |ƒS rS   )	rV   r   rW   r   r   r   rY   r   r%   )rZ   r[   r\   r2   r]   r	   r
   r^   rT   rU   r_   r`   r)   r   r   r   Ú_future_unary_unaryß   s    
ý
ürc   c
                 C   sH   | j t ||¡||	d�}
t||ƒ}|
||t |¡t|ƒd�}td ||ƒS rS   )Úunary_streamr   rW   r   r   rY   r   r%   )rZ   r[   r\   r2   r]   r	   r
   r^   rT   rU   r_   r`   r*   r   r   r   Ú_unary_streamú   s    
ý
üre   c              
   C   sª   zx| j t ||¡|	|
d�}t||ƒ}|rZ|j||t |¡t|ƒd�\}}|td d |ƒfW S |||t |¡t|ƒd�W S W n, t	j
k
r¤ } zt|ƒ‚W 5 d }~X Y nX d S rS   )Ústream_unaryr   rW   r   rX   r   rY   r   r%   r4   r5   r   )rZ   r[   r\   r2   rX   r]   r	   r
   Úrequest_iteratorrT   rU   r_   r`   ra   r+   r   r   r   r   Ú_blocking_stream_unary  s.    
ý
ü
ürh   c
                 C   sJ   | j t ||¡||	d�}
t||ƒ}|
j||t |¡t|ƒd�}t|d |ƒS rS   )	rf   r   rW   r   r   r   rY   r   r%   )rZ   r[   r\   r2   r]   r	   r
   rg   rT   rU   r_   r`   r)   r   r   r   Ú_future_stream_unary<  s    
ý
üri   c
                 C   sH   | j t ||¡||	d�}
t||ƒ}|
||t |¡t|ƒd�}td ||ƒS rS   )Ústream_streamr   rW   r   r   rY   r   r%   )rZ   r[   r\   r2   r]   r	   r
   rg   rT   rU   r_   r`   r*   r   r   r   Ú_stream_streamW  s    
ý
ürk   c                   @   s2   e Zd Zdd„ Zddd„Zddd„Zdd	d
„ZdS )Ú_UnaryUnaryMultiCallablec                 C   s(   || _ || _|| _|| _|| _|| _d S r   ©Ú_channelÚ_groupÚ_methodÚ_metadata_transformerÚ_request_serializerÚ_response_deserializer©r    rZ   r[   r\   r
   rT   rU   r   r   r   r,   s  s    	z!_UnaryUnaryMultiCallable.__init__NFc                 C   s(   t | j| j| j||||| j|| j| jƒS r   )rb   rn   ro   rp   rq   rr   rs   )r    r^   r2   r	   rX   r]   r   r   r   Ú__call__ƒ  s    õz!_UnaryUnaryMultiCallable.__call__c                 C   s&   t | j| j| j|||| j|| j| jƒ
S r   )rc   rn   ro   rp   rq   rr   rs   ©r    r^   r2   r	   r]   r   r   r   r   ™  s    öz_UnaryUnaryMultiCallable.futurec                 C   s
   t ƒ ‚d S r   ©ÚNotImplementedError©r    r^   ÚreceiverrL   r2   r	   r]   r   r   r   Úevent§  s    	z_UnaryUnaryMultiCallable.event)NFN)NN)NN©r"   r#   r$   r,   ru   r   r{   r   r   r   r   rl   r  s      ú

  ùrl   c                   @   s(   e Zd Zdd„ Zddd„Zd	dd„ZdS )
Ú_UnaryStreamMultiCallablec                 C   s(   || _ || _|| _|| _|| _|| _d S r   rm   rt   r   r   r   r,   ´  s    	z"_UnaryStreamMultiCallable.__init__Nc                 C   s&   t | j| j| j|||| j|| j| jƒ
S r   )re   rn   ro   rp   rq   rr   rs   rv   r   r   r   ru   Ä  s    öz"_UnaryStreamMultiCallable.__call__c                 C   s
   t ƒ ‚d S r   rw   ry   r   r   r   r{   Ò  s    	z_UnaryStreamMultiCallable.event)NN)NN©r"   r#   r$   r,   ru   r{   r   r   r   r   r}   ³  s
   
  ùr}   c                   @   s2   e Zd Zdd„ Zddd„Zddd„Zdd	d
„ZdS )Ú_StreamUnaryMultiCallablec                 C   s(   || _ || _|| _|| _|| _|| _d S r   rm   rt   r   r   r   r,   ß  s    	z"_StreamUnaryMultiCallable.__init__NFc                 C   s(   t | j| j| j||||| j|| j| jƒS r   )rh   rn   ro   rp   rq   rr   rs   )r    rg   r2   r	   rX   r]   r   r   r   ru   ï  s    õz"_StreamUnaryMultiCallable.__call__c                 C   s&   t | j| j| j|||| j|| j| jƒ
S r   )ri   rn   ro   rp   rq   rr   rs   ©r    rg   r2   r	   r]   r   r   r   r     s    öz _StreamUnaryMultiCallable.futurec                 C   s
   t ƒ ‚d S r   rw   ©r    rz   rL   r2   r	   r]   r   r   r   r{     s    z_StreamUnaryMultiCallable.event)NFN)NN)NNr|   r   r   r   r   r   Þ  s      ú
   ÿ
  úr   c                   @   s(   e Zd Zdd„ Zddd„Zd	dd„ZdS )
Ú_StreamStreamMultiCallablec                 C   s(   || _ || _|| _|| _|| _|| _d S r   rm   rt   r   r   r   r,   !  s    	z#_StreamStreamMultiCallable.__init__Nc                 C   s&   t | j| j| j|||| j|| j| jƒ
S r   )rk   rn   ro   rp   rq   rr   rs   r€   r   r   r   ru   1  s    öz#_StreamStreamMultiCallable.__call__c                 C   s
   t ƒ ‚d S r   rw   r�   r   r   r   r{   A  s    z _StreamStreamMultiCallable.event)NN)NNr~   r   r   r   r   r‚      s      ÿ
  úr‚   c                   @   s¨   e Zd Zdd„ Zd$dd„Zd%dd„Zd&dd	„Zd'd
d„Zd(dd„Zd)dd„Z	d*dd„Z
d+dd„Zd,dd„Zd-dd„Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ ZdS ).Ú_GenericStubc                 C   s$   || _ || _|pi | _|pi | _d S r   )rn   rq   Ú_request_serializersÚ_response_deserializers)r    rZ   r
   Úrequest_serializersÚresponse_deserializersr   r   r   r,   M  s    
z_GenericStub.__init__Nc           
      C   s@   | j  ||f¡}| j ||f¡}	t| j||||||| j|||	ƒS r   )r„   r   r…   rb   rn   rq   )
r    r[   r\   r^   r2   r	   rX   r]   rT   rU   r   r   r   Úblocking_unary_unaryY  s.    
þÿþÿõz!_GenericStub.blocking_unary_unaryc           	      C   s>   | j  ||f¡}| j ||f¡}t| j|||||| j|||ƒ
S r   )r„   r   r…   rc   rn   rq   ©	r    r[   r\   r^   r2   r	   r]   rT   rU   r   r   r   Úfuture_unary_unary}  s,    	þÿþÿöz_GenericStub.future_unary_unaryc           	      C   s>   | j  ||f¡}| j ||f¡}t| j|||||| j|||ƒ
S r   )r„   r   r…   re   rn   rq   r‰   r   r   r   Úinline_unary_streamŸ  s,    	þÿþÿöz _GenericStub.inline_unary_streamc           
      C   s@   | j  ||f¡}| j ||f¡}	t| j||||||| j|||	ƒS r   )r„   r   r…   rh   rn   rq   )
r    r[   r\   rg   r2   r	   rX   r]   rT   rU   r   r   r   Úblocking_stream_unaryÁ  s.    
þÿþÿõz"_GenericStub.blocking_stream_unaryc           	      C   s>   | j  ||f¡}| j ||f¡}t| j|||||| j|||ƒ
S r   )r„   r   r…   ri   rn   rq   ©	r    r[   r\   rg   r2   r	   r]   rT   rU   r   r   r   Úfuture_stream_unaryå  s,    	þÿþÿöz _GenericStub.future_stream_unaryc           	      C   s>   | j  ||f¡}| j ||f¡}t| j|||||| j|||ƒ
S r   )r„   r   r…   rk   rn   rq   r�   r   r   r   Úinline_stream_stream  s,    	þÿþÿöz!_GenericStub.inline_stream_streamc	           	      C   s
   t ƒ ‚d S r   rw   ©	r    r[   r\   r^   rz   rL   r2   r	   r]   r   r   r   Úevent_unary_unary)  s    z_GenericStub.event_unary_unaryc	           	      C   s
   t ƒ ‚d S r   rw   r�   r   r   r   Úevent_unary_stream6  s    z_GenericStub.event_unary_streamc                 C   s
   t ƒ ‚d S r   rw   ©r    r[   r\   rz   rL   r2   r	   r]   r   r   r   Úevent_stream_unaryC  s    
z_GenericStub.event_stream_unaryc                 C   s
   t ƒ ‚d S r   rw   r“   r   r   r   Úevent_stream_streamO  s    
z _GenericStub.event_stream_streamc                 C   s6   | j  ||f¡}| j ||f¡}t| j||| j||ƒS r   )r„   r   r…   rl   rn   rq   ©r    r[   r\   rT   rU   r   r   r   rV   [  s$    þÿþÿúz_GenericStub.unary_unaryc                 C   s6   | j  ||f¡}| j ||f¡}t| j||| j||ƒS r   )r„   r   r…   r}   rn   rq   r–   r   r   r   rd   q  s$    þÿþÿúz_GenericStub.unary_streamc                 C   s6   | j  ||f¡}| j ||f¡}t| j||| j||ƒS r   )r„   r   r…   r   rn   rq   r–   r   r   r   rf   ‡  s$    þÿþÿúz_GenericStub.stream_unaryc                 C   s6   | j  ||f¡}| j ||f¡}t| j||| j||ƒS r   )r„   r   r…   r‚   rn   rq   r–   r   r   r   rj   �  s$    þÿþÿúz_GenericStub.stream_streamc                 C   s   | S r   r   r   r   r   r   Ú	__enter__³  s    z_GenericStub.__enter__c                 C   s   dS ©NFr   ©r    Úexc_typeÚexc_valÚexc_tbr   r   r   Ú__exit__¶  s    z_GenericStub.__exit__)NNN)NN)NN)NNN)NN)NN)NN)NN)NN)NN)r"   r#   r$   r,   rˆ   rŠ   r‹   rŒ   rŽ   r�   r‘   r’   r”   r•   rV   rd   rf   rj   r—   r�   r   r   r   r   rƒ   L  sN      ø
*  ù
(  ù
(   ø
*  ù
(  ù
*  ÷
  ÷
  ø
  ø
rƒ   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Ú_DynamicStubc                 C   s   || _ || _|| _d S r   )Ú_generic_stubro   Ú_cardinalities)r    Zbacking_generic_stubr[   Úcardinalitiesr   r   r   r,   »  s    z_DynamicStub.__init__c                 C   sŒ   | j  |¡}|tjjkr(| j | j|¡S |tjjkrD| j 	| j|¡S |tjj
kr`| j | j|¡S |tjjkr|| j | j|¡S td| ƒ‚d S )Nz*_DynamicStub object has no attribute "%s"!)r    r   r   ZCardinalityZUNARY_UNARYrŸ   rV   ro   ZUNARY_STREAMrd   ZSTREAM_UNARYrf   ZSTREAM_STREAMrj   ÚAttributeError)r    ÚattrZmethod_cardinalityr   r   r   Ú__getattr__À  s    ÿz_DynamicStub.__getattr__c                 C   s   | S r   r   r   r   r   r   r—   Ï  s    z_DynamicStub.__enter__c                 C   s   dS r˜   r   r™   r   r   r   r�   Ò  s    z_DynamicStub.__exit__N)r"   r#   r$   r,   r¤   r—   r�   r   r   r   r   rž   º  s   rž   c                 C   s   t | |||ƒS r   )rƒ   )rZ   Úhostr
   r†   r‡   r   r   r   Úgeneric_stubÖ  s    ür¦   c                 C   s   t t| |||ƒ||ƒS r   )rž   rƒ   )rZ   Zservicer¡   r¥   r
   r†   r‡   r   r   r   Údynamic_stubå  s    	üør§   )8Ú__doc__r4   r   Z	grpc.betar   r   Zgrpc.framework.commonr   Zgrpc.framework.foundationr   Zgrpc.framework.interfaces.facer   rI   Z	CANCELLEDr   r   ZCancellationErrorÚUNKNOWNZREMOTE_FAILUREZRemoteErrorZDEADLINE_EXCEEDEDZEXPIREDZExpirationErrorZUNIMPLEMENTEDr   Z
LocalErrorr   r   r   r   r   ZGRPCInvocationContextr   ÚFutureÚCallr%   rb   rc   re   rh   ri   rk   ZUnaryUnaryMultiCallablerl   ZUnaryStreamMultiCallabler}   ZStreamUnaryMultiCallabler   ZStreamStreamMultiCallabler‚   ZGenericStubrƒ   ZDynamicStubrž   r¦   r§   r   r   r   r   Ú<module>   s\   þþþþó`''A+B,  p