
    h:                     t    d Z ddlmZmZ ddlmZ dZd Z G d de      Z G d	 d
ee      Z	 G d de	      Z
y)zAbstract classes.    )ABCMetaabstractmethod)Callable)CallableTaskCallableSignaturec                 @    t        fd| j                  D              S )Nc              3   :   K   | ]  }|j                   v   y wN)__dict__).0Battrs     Q/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/utils/abstract.py	<genexpr>z_hasattr.<locals>.<genexpr>	   s     5atqzz!5s   )any__mro__)Cr   s    `r   _hasattrr      s    5199555    c                   :    e Zd Z e       Zed        Zed        Zy)_AbstractClassc                 \    | |u xr t        fd| j                  D              xs t        S )Nc              3   6   K   | ]  }t        |        y wr
   )r   )r   r   r   s     r   r   z5_AbstractClass._subclasshook_using.<locals>.<genexpr>   s     JdD!Js   )all__required_attributes__NotImplemented)clsparentr   s     `r   _subclasshook_usingz"_AbstractClass._subclasshook_using   s5     6M KJc.I.IJJ 	r   c                 <    t        |       j                  | |       |S r
   )typeregister)r   others     r   r"   z_AbstractClass.register   s     	S	3&r   N)__name__
__module____qualname__	frozensetr   classmethodr   r"    r   r   r   r      s0    'k   r   r   )	metaclassc                   d    e Zd ZdZ eh d      Zed        Zed        Zed        Z	e
d        Zy)r   zTask interface.>   applydelayapply_asyncc                      y r
   r)   selfargskwargss      r   r-   zCallableTask.delay$       r   c                      y r
   r)   r0   s      r   r.   zCallableTask.apply_async(   r4   r   c                      y r
   r)   r0   s      r   r,   zCallableTask.apply,   r4   r   c                 .    | j                  t        |      S r
   )r   r   r   r   s     r   __subclasshook__zCallableTask.__subclasshook__0   s    &&|Q77r   N)r$   r%   r&   __doc__r'   r   r   r-   r.   r,   r(   r9   r)   r   r   r   r      se    ' )        8 8r   r   c                      e Zd ZdZ eh d      Zeed               Zeed               Z	eed               Z
eed               Zeed               Zeed               Zeed	               Zeed
               Zeed               Zeed               Zeed               Zedd       Ze	 	 dd       Zedd       Zed        Zed        Zed        Zed        Zed        Zy)r   zCelery Signature interface.>   setlinkclone__or__freeze
link_errorc                      y r
   r)   r1   s    r   namezCallableSignature.name<        	r   c                      y r
   r)   rC   s    r   r!   zCallableSignature.typeA   rE   r   c                      y r
   r)   rC   s    r   appzCallableSignature.appF   rE   r   c                      y r
   r)   rC   s    r   idzCallableSignature.idK   rE   r   c                      y r
   r)   rC   s    r   taskzCallableSignature.taskP   rE   r   c                      y r
   r)   rC   s    r   r2   zCallableSignature.argsU   rE   r   c                      y r
   r)   rC   s    r   r3   zCallableSignature.kwargsZ   rE   r   c                      y r
   r)   rC   s    r   optionszCallableSignature.options_   rE   r   c                      y r
   r)   rC   s    r   subtask_typezCallableSignature.subtask_typed   rE   r   c                      y r
   r)   rC   s    r   
chord_sizezCallableSignature.chord_sizei   rE   r   c                      y r
   r)   rC   s    r   	immutablezCallableSignature.immutablen   rE   r   Nc                      y r
   r)   r0   s      r   r>   zCallableSignature.clones   r4   r   c                      y r
   r)   )r1   rJ   group_idchordroot_idgroup_indexs         r   r@   zCallableSignature.freezew   rE   r   c                      y r
   r)   )r1   rV   rP   s      r   r<   zCallableSignature.set|   r4   r   c                      y r
   r)   )r1   callbacks     r   r=   zCallableSignature.link   r4   r   c                      y r
   r)   )r1   errbacks     r   rA   zCallableSignature.link_error   r4   r   c                      y r
   r)   )r1   r#   s     r   r?   zCallableSignature.__or__   r4   r   c                      y r
   r)   rC   s    r   
__invert__zCallableSignature.__invert__   r4   r   c                 .    | j                  t        |      S r
   )r   r   r8   s     r   r9   z"CallableSignature.__subclasshook__   s    &&'8!<<r   )NN)NNNNNr
   )r$   r%   r&   r:   r'   r   propertyr   rD   r!   rH   rJ   rL   r2   r3   rP   rR   rT   rV   r>   r@   r<   r=   rA   r?   rd   r(   r9   r)   r   r   r   r   5   s   %' )                                     AE            = =r   r   N)r:   abcr   r   collections.abcr   __all__r   r   r   r   r)   r   r   <module>rj      s@     ' $
/6w "8>8 80]= ]=r   