o
    Ù­j 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 u rdn| }|d u r|S ||ƒS )N© r   )ÚmetadataÚmetadata_transformerÚnon_none_metadatar   r   úZ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/grpc/beta/_client_adaptations.pyÚ_effective_metadata.   s   r   c                 C   s   | d u rd S | j S ©N)Úcredentials)Úgrpc_call_optionsr   r   r   Ú_credentials5   s   r   c                 C   sJ   |   ¡ }t |¡}|d u 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   ÚpairÚ
error_kindr   r   r   Ú	_abortion9   s   
ûr   c                 C   sB   |   ¡ }t |¡}|d u rtjn|d }||  ¡ |  ¡ ||  ¡ ƒS )Né   )r   r   r   r   ÚAbortionErrorr   r   r   )r   r   r   Úexception_classr   r   r   Ú_abortion_errorF   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_compressionS   ó   z;_InvocationProtocolContext.disable_next_request_compressionN)Ú__name__Ú
__module__Ú__qualname__r&   r   r   r   r   r#   R   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   ó   || _ || _|| _d S r   )Ú_futureÚ	_iteratorÚ_call)r%   Úresponse_futureÚresponse_iteratorÚcallr   r   r   Ú__init__X   ó   
z_Rendezvous.__init__c                 C   ó
   | j  ¡ S r   )r/   Úcancelr$   r   r   r   r6   ]   ó   
z_Rendezvous.cancelc                 C   r5   r   )r-   Ú	cancelledr$   r   r   r   r8   `   r7   z_Rendezvous.cancelledc                 C   r5   r   )r-   Úrunningr$   r   r   r   r9   c   r7   z_Rendezvous.runningc                 C   r5   r   )r-   Údoner$   r   r   r   r:   f   r7   z_Rendezvous.doneNc              
   C   s`   z| j j|d�W S  tjy } zt|ƒ‚d }~w tjy$   t ¡ ‚ tjy/   t 	¡ ‚w ©N)Útimeout)
r-   ÚresultÚgrpcÚRpcErrorr"   ÚFutureTimeoutErrorr   ÚTimeoutErrorÚFutureCancelledErrorÚCancelledError©r%   r<   r   r   r   r   r=   i   s   €ÿz_Rendezvous.resultc                 C   sV   z| j j|d�}|d u rW d S t|ƒW S  tjy   t ¡ ‚ tjy*   t ¡ ‚w r;   )	r-   Ú	exceptionr"   r>   r@   r   rA   rB   rC   rD   r   r   r   rE   s   s   
ÿz_Rendezvous.exceptionc                 C   s@   z| j j|d�W S  tjy   t ¡ ‚ tjy   t ¡ ‚w r;   )r-   Ú	tracebackr>   r@   r   rA   rB   rC   )r%   r<   r   r   r   rF   ~   s   ÿz_Rendezvous.tracebackc                    s   ˆj  ‡ ‡fdd„¡ d S )Nc                    s   ˆ ˆƒS r   r   )Ú_ignored_callback©Úfnr%   r   r   Ú<lambda>‡   s    z/_Rendezvous.add_done_callback.<locals>.<lambda>)r-   Úadd_done_callback)r%   rI   r   rH   r   rK   †   s   z_Rendezvous.add_done_callbackc                 C   ó   | S r   r   r$   r   r   r   Ú__iter__‰   r'   z_Rendezvous.__iter__c              
   C   s0   zt | jƒW S  tjy } zt|ƒ‚d }~ww r   )Únextr.   r>   r?   r"   )r%   r   r   r   r   Ú_nextŒ   s   €ÿz_Rendezvous._nextc                 C   ó   |   ¡ S r   ©rO   r$   r   r   r   Ú__next__’   ó   z_Rendezvous.__next__c                 C   rP   r   rQ   r$   r   r   r   rN   •   rS   z_Rendezvous.nextc                 C   r5   r   )r/   Ú	is_activer$   r   r   r   rT   ˜   r7   z_Rendezvous.is_activec                 C   r5   r   )r/   Útime_remainingr$   r   r   r   rU   ›   r7   z_Rendezvous.time_remainingc                    s(   ‡ ‡fdd„}ˆj  |¡}|rd S |ƒ S )Nc                      s&   ˆ  ¡ tjjurˆ tˆjƒƒ d S d S r   )r   r>   Ú
StatusCodeÚOKr   r/   r   ©Úabortion_callbackr%   r   r   Údone_callbackŸ   s   ÿz8_Rendezvous.add_abortion_callback.<locals>.done_callback)r/   Úadd_callback)r%   rY   rZ   Ú
registeredr   rX   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   ó   t  | j ¡ ¡S r   )r   Úbetar/   r   r$   r   r   r   r   ©   ó   z_Rendezvous.initial_metadatac                 C   r_   r   )r   r`   r/   Úterminal_metadatar$   r   r   r   rb   ¬   ra   z_Rendezvous.terminal_metadatac                 C   r5   r   )r/   r   r$   r   r   r   r   ¯   r7   z_Rendezvous.codec                 C   r5   r   )r/   r   r$   r   r   r   r   ²   r7   z_Rendezvous.detailsr   )r(   r)   r*   r3   r6   r8   r9   r:   r=   rE   rF   rK   rM   rO   rR   rN   rT   rU   r]   r^   r   rb   r   r   r   r   r   r   r+   W   s,    



r+   c              
   C   ó˜   z:| j t ||¡|	|
d�}t||ƒ}|r-|j||t |¡t|ƒd�\}}|td d |ƒfW S |||t |¡t|ƒd�W S  t	j
yK } zt|ƒ‚d }~ww ©N)Úrequest_serializerÚresponse_deserializer)r<   r	   r   )Úunary_unaryr   Úfully_qualified_methodr   Ú	with_callr   Úunbetar   r+   r>   r?   r"   )ÚchannelÚgroupÚmethodr<   ri   Úprotocol_optionsr	   r
   Úrequestre   rf   Úmulti_callableÚeffective_metadataÚresponser2   r   r   r   r   Ú_blocking_unary_unary¶   ó2   
ý

üü€ÿrs   c
                 C   óJ   | j t ||¡||	d�}
t||ƒ}|
j||t |¡t|ƒd�}t|d |ƒS rd   )	rg   r   rh   r   r   r   rj   r   r+   )rk   rl   rm   r<   rn   r	   r
   ro   re   rf   rp   rq   r0   r   r   r   Ú_future_unary_unaryÜ   ó   
ý
ürv   c
                 C   óH   | j t ||¡||	d�}
t||ƒ}|
||t |¡t|ƒd�}td ||ƒS rd   )Úunary_streamr   rh   r   r   rj   r   r+   )rk   rl   rm   r<   rn   r	   r
   ro   re   rf   rp   rq   r1   r   r   r   Ú_unary_stream÷   ó   
ý
ürz   c              
   C   rc   rd   )Ústream_unaryr   rh   r   ri   r   rj   r   r+   r>   r?   r"   )rk   rl   rm   r<   ri   rn   r	   r
   Úrequest_iteratorre   rf   rp   rq   rr   r2   r   r   r   r   Ú_blocking_stream_unary  rt   r~   c
                 C   ru   rd   )	r|   r   rh   r   r   r   rj   r   r+   )rk   rl   rm   r<   rn   r	   r
   r}   re   rf   rp   rq   r0   r   r   r   Ú_future_stream_unary8  rw   r   c
                 C   rx   rd   )Ústream_streamr   rh   r   r   rj   r   r+   )rk   rl   rm   r<   rn   r	   r
   r}   re   rf   rp   rq   r1   r   r   r   Ú_stream_streamS  r{   r�   c                   @   s<   e Zd Zdd„ Z			ddd„Zddd„Z		dd	d
„ZdS )Ú_UnaryUnaryMultiCallablec                 C   ó(   || _ || _|| _|| _|| _|| _d S r   ©Ú_channelÚ_groupÚ_methodÚ_metadata_transformerÚ_request_serializerÚ_response_deserializer©r%   rk   rl   rm   r
   re   rf   r   r   r   r3   o  ó   	
z!_UnaryUnaryMultiCallable.__init__NFc                 C   ó(   t | j| j| j||||| j|| j| jƒS r   )rs   r…   r†   r‡   rˆ   r‰   rŠ   )r%   ro   r<   r	   ri   rn   r   r   r   Ú__call__  ó   õz!_UnaryUnaryMultiCallable.__call__c                 C   ó&   t | j| j| j|||| j|| j| jƒ
S r   )rv   r…   r†   r‡   rˆ   r‰   rŠ   ©r%   ro   r<   r	   rn   r   r   r   r   •  ó   öz_UnaryUnaryMultiCallable.futurec                 C   ó   t ƒ ‚r   ©ÚNotImplementedError©r%   ro   ÚreceiverrY   r<   r	   rn   r   r   r   Úevent£  ó   	z_UnaryUnaryMultiCallable.event©NFN©NN©r(   r)   r*   r3   rŽ   r   r˜   r   r   r   r   r‚   n  s    
ú
ùr‚   c                   @   s,   e Zd Zdd„ Zddd„Z		ddd„ZdS )	Ú_UnaryStreamMultiCallablec                 C   rƒ   r   r„   r‹   r   r   r   r3   °  rŒ   z"_UnaryStreamMultiCallable.__init__Nc                 C   r�   r   )rz   r…   r†   r‡   rˆ   r‰   rŠ   r‘   r   r   r   rŽ   À  r’   z"_UnaryStreamMultiCallable.__call__c                 C   r“   r   r”   r–   r   r   r   r˜   Î  r™   z_UnaryStreamMultiCallable.eventr›   ©r(   r)   r*   r3   rŽ   r˜   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S )Ú_StreamUnaryMultiCallablec                 C   rƒ   r   r„   r‹   r   r   r   r3   Û  rŒ   z"_StreamUnaryMultiCallable.__init__NFc                 C   r�   r   )r~   r…   r†   r‡   rˆ   r‰   rŠ   )r%   r}   r<   r	   ri   rn   r   r   r   rŽ   ë  r�   z"_StreamUnaryMultiCallable.__call__c                 C   r�   r   )r   r…   r†   r‡   rˆ   r‰   rŠ   ©r%   r}   r<   r	   rn   r   r   r   r     ó   öz _StreamUnaryMultiCallable.futurec                 C   r“   r   r”   ©r%   r—   rY   r<   r	   rn   r   r   r   r˜     ó   z_StreamUnaryMultiCallable.eventrš   r›   rœ   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   rƒ   r   r„   r‹   r   r   r   r3     rŒ   z#_StreamStreamMultiCallable.__init__Nc                 C   r�   r   )r�   r…   r†   r‡   rˆ   r‰   rŠ   r    r   r   r   rŽ   -  r¡   z#_StreamStreamMultiCallable.__call__c                 C   r“   r   r”   r¢   r   r   r   r˜   =  r£   z _StreamStreamMultiCallable.eventr›   rž   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   )r…   rˆ   Ú_request_serializersÚ_response_deserializers)r%   rk   r
   Úrequest_serializersÚresponse_deserializersr   r   r   r3   I  s   
z_GenericStub.__init__Nc           
      C   ó@   | j  ||f¡}| j ||f¡}	t| j||||||| j|||	ƒS r   )r¦   r   r§   rs   r…   rˆ   )
r%   rl   rm   ro   r<   r	   ri   rn   re   rf   r   r   r   Úblocking_unary_unaryU  ó.   
þÿþÿõz!_GenericStub.blocking_unary_unaryc           	      C   ó>   | j  ||f¡}| j ||f¡}t| j|||||| j|||ƒ
S r   )r¦   r   r§   rv   r…   rˆ   ©	r%   rl   rm   ro   r<   r	   rn   re   rf   r   r   r   Úfuture_unary_unaryy  ó,   	þÿþÿöz_GenericStub.future_unary_unaryc           	      C   r­   r   )r¦   r   r§   rz   r…   rˆ   r®   r   r   r   Úinline_unary_stream›  r°   z _GenericStub.inline_unary_streamc           
      C   rª   r   )r¦   r   r§   r~   r…   rˆ   )
r%   rl   rm   r}   r<   r	   ri   rn   re   rf   r   r   r   Úblocking_stream_unary½  r¬   z"_GenericStub.blocking_stream_unaryc           	      C   r­   r   )r¦   r   r§   r   r…   rˆ   ©	r%   rl   rm   r}   r<   r	   rn   re   rf   r   r   r   Úfuture_stream_unaryá  r°   z _GenericStub.future_stream_unaryc           	      C   r­   r   )r¦   r   r§   r�   r…   rˆ   r³   r   r   r   Úinline_stream_stream  r°   z!_GenericStub.inline_stream_streamc	           	      C   r“   r   r”   ©	r%   rl   rm   ro   r—   rY   r<   r	   rn   r   r   r   Úevent_unary_unary%  ó   z_GenericStub.event_unary_unaryc	           	      C   r“   r   r”   r¶   r   r   r   Úevent_unary_stream2  r¸   z_GenericStub.event_unary_streamc                 C   r“   r   r”   ©r%   rl   rm   r—   rY   r<   r	   rn   r   r   r   Úevent_stream_unary?  ó   
z_GenericStub.event_stream_unaryc                 C   r“   r   r”   rº   r   r   r   Úevent_stream_streamK  r¼   z _GenericStub.event_stream_streamc                 C   ó6   | j  ||f¡}| j ||f¡}t| j||| j||ƒS r   )r¦   r   r§   r‚   r…   rˆ   ©r%   rl   rm   re   rf   r   r   r   rg   W  ó$   þÿþÿúz_GenericStub.unary_unaryc                 C   r¾   r   )r¦   r   r§   r�   r…   rˆ   r¿   r   r   r   ry   m  rÀ   z_GenericStub.unary_streamc                 C   r¾   r   )r¦   r   r§   rŸ   r…   rˆ   r¿   r   r   r   r|   ƒ  rÀ   z_GenericStub.stream_unaryc                 C   r¾   r   )r¦   r   r§   r¤   r…   rˆ   r¿   r   r   r   r€   ™  rÀ   z_GenericStub.stream_streamc                 C   rL   r   r   r$   r   r   r   Ú	__enter__¯  r'   z_GenericStub.__enter__c                 C   ó   dS ©NFr   ©r%   Úexc_typeÚexc_valÚexc_tbr   r   r   Ú__exit__²  r'   z_GenericStub.__exit__)NNNr›   )r(   r)   r*   r3   r«   r¯   r±   r²   r´   rµ   r·   r¹   r»   r½   rg   ry   r|   r€   rÁ   rÈ   r   r   r   r   r¥   H  sP    
ø*
ù(
ù(
ø*
ù(
ù*
÷
÷
ø
ør¥   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Ú_DynamicStubc                 C   r,   r   )Ú_generic_stubr†   Ú_cardinalities)r%   Úbacking_generic_stubrl   Úcardinalitiesr   r   r   r3   ·  r4   z_DynamicStub.__init__c                 C   sˆ   | j  |¡}|tjju r| j | j|¡S |tjju r"| j 	| j|¡S |tjj
u r0| j | j|¡S |tjju r>| j | j|¡S td| ƒ‚)Nz*_DynamicStub object has no attribute "%s"!)rË   r   r   ÚCardinalityÚUNARY_UNARYrÊ   rg   r†   ÚUNARY_STREAMry   ÚSTREAM_UNARYr|   ÚSTREAM_STREAMr€   ÚAttributeError)r%   ÚattrÚmethod_cardinalityr   r   r   Ú__getattr__¼  s   ÿz_DynamicStub.__getattr__c                 C   rL   r   r   r$   r   r   r   rÁ   Ê  r'   z_DynamicStub.__enter__c                 C   rÂ   rÃ   r   rÄ   r   r   r   rÈ   Í  r'   z_DynamicStub.__exit__N)r(   r)   r*   r3   rÖ   rÁ   rÈ   r   r   r   r   rÉ   ¶  s
    rÉ   c                 C   s   t | |||ƒS r   )r¥   )rk   Úhostr
   r¨   r©   r   r   r   Úgeneric_stubÑ  s   ürØ   c                 C   s   t t| |||ƒ||ƒS r   )rÉ   r¥   )rk   ÚservicerÍ   r×   r
   r¨   r©   r   r   r   Údynamic_stubà  s   	üørÚ   )8Ú__doc__r>   r   Ú	grpc.betar   r   Úgrpc.framework.commonr   Úgrpc.framework.foundationr   Úgrpc.framework.interfaces.facer   rV   Ú	CANCELLEDr   r   ÚCancellationErrorÚUNKNOWNÚREMOTE_FAILUREÚRemoteErrorÚDEADLINE_EXCEEDEDÚEXPIREDÚExpirationErrorÚUNIMPLEMENTEDr   Ú
LocalErrorr   r   r   r   r"   ÚGRPCInvocationContextr#   ÚFutureÚCallr+   rs   rv   rz   r~   r   r�   ÚUnaryUnaryMultiCallabler‚   ÚUnaryStreamMultiCallabler�   ÚStreamUnaryMultiCallablerŸ   ÚStreamStreamMultiCallabler¤   ÚGenericStubr¥   ÚDynamicStubrÉ   rØ   rÚ   r   r   r   r   Ú<module>   s^   þþþþó_&&A+B,  p