
    `f:                         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
dS )zAbstract classes.    )ABCMetaabstractmethod)Callable)CallableTaskCallableSignaturec                 D    t          fd| j        D                       S )Nc              3   *   K   | ]}|j         v V  d S N)__dict__).0Battrs     G/var/www/html/env/lib/python3.11/site-packages/celery/utils/abstract.py	<genexpr>z_hasattr.<locals>.<genexpr>	   s*      55atqz!555555    )any__mro__)Cr   s    `r   _hasattrr      s(    555519555555r   c                   N    e Zd Z e            Zed             Zed             ZdS )_AbstractClassc                 Z    | |u ot          fd| j        D                       pt          S )Nc              3   8   K   | ]}t          |          V  d S r
   )r   )r   r   r   s     r   r   z5_AbstractClass._subclasshook_using.<locals>.<genexpr>   s-      JJdD!!JJJJJJr   )all__required_attributes__NotImplemented)clsparentr   s     `r   _subclasshook_usingz"_AbstractClass._subclasshook_using   sD     6M KJJJJc.IJJJJJ 	r   c                 L    t          |                               | |           |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      sT        'ikk  [   [  r   r   )	metaclassc                       e Zd ZdZ eh d          Zed             Zed             Zed             Z	e
d             ZdS )r   zTask interface.>   applydelayapply_asyncc                     d S r
   r)   selfargskwargss      r   r-   zCallableTask.delay$       r   c                     d S r
   r)   r0   s      r   r.   zCallableTask.apply_async(   r4   r   c                     d S r
   r)   r0   s      r   r,   zCallableTask.apply,   r4   r   c                 8    |                      t          |          S r
   )r   r   r   r   s     r   __subclasshook__zCallableTask.__subclasshook__0   s    &&|Q777r   N)r$   r%   r&   __doc__r'   r   r   r-   r.   r,   r(   r9   r)   r   r   r   r      s        'i ) ) )     ^   ^   ^ 8 8 [8 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dS )r   zCelery Signature interface.>   setlinkclone__or__freeze
link_errorc                     d S r
   r)   r1   s    r   namezCallableSignature.name<   	     	r   c                     d S r
   r)   rC   s    r   r!   zCallableSignature.typeA   rE   r   c                     d S r
   r)   rC   s    r   appzCallableSignature.appF   rE   r   c                     d S r
   r)   rC   s    r   idzCallableSignature.idK   rE   r   c                     d S r
   r)   rC   s    r   taskzCallableSignature.taskP   rE   r   c                     d S r
   r)   rC   s    r   r2   zCallableSignature.argsU   rE   r   c                     d S r
   r)   rC   s    r   r3   zCallableSignature.kwargsZ   rE   r   c                     d S r
   r)   rC   s    r   optionszCallableSignature.options_   rE   r   c                     d S r
   r)   rC   s    r   subtask_typezCallableSignature.subtask_typed   rE   r   c                     d S r
   r)   rC   s    r   
chord_sizezCallableSignature.chord_sizei   rE   r   c                     d S r
   r)   rC   s    r   	immutablezCallableSignature.immutablen   rE   r   Nc                     d S r
   r)   r0   s      r   r>   zCallableSignature.clones   r4   r   c                     d S r
   r)   )r1   rJ   group_idchordroot_idgroup_indexs         r   r@   zCallableSignature.freezew   rE   r   c                     d S r
   r)   )r1   rV   rP   s      r   r<   zCallableSignature.set|   r4   r   c                     d S r
   r)   )r1   callbacks     r   r=   zCallableSignature.link   r4   r   c                     d S r
   r)   )r1   errbacks     r   rA   zCallableSignature.link_error   r4   r   c                     d S r
   r)   )r1   r#   s     r   r?   zCallableSignature.__or__   r4   r   c                     d S r
   r)   rC   s    r   
__invert__zCallableSignature.__invert__   r4   r   c                 8    |                      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       %%'i ) ) )     ^ X   ^ X   ^ X   ^ X   ^ X   ^ X   ^ X   ^ X   ^ X   ^ X   ^ X    ^ AE   ^    ^   ^   ^   ^   ^ = = [= = =r   r   N)r:   abcr   r   collections.abcr   __all__r   r   r   r   r)   r   r   <module>rj      s      ' ' ' ' ' ' ' ' $ $ $ $ $ $
/6 6 6    w    "8 8 8 8 8>8 8 8 80]= ]= ]= ]= ]= ]= ]= ]= ]= ]=r   