o
    ›¨Êh:  ã                   @   sd   d Z ddlmZmZ ddlmZ dZdd„ ZG dd„ ded	�ZG d
d„ deeƒZ	G dd„ de	ƒZ
dS )zAbstract classes.é    )ÚABCMetaÚabstractmethod)ÚCallable)ÚCallableTaskÚCallableSignaturec                    s   t ‡ fdd„| jD ƒƒS )Nc                 3   s   � | ]}ˆ |j v V  qd S ©N)Ú__dict__)Ú.0ÚB©Úattr© úG/var/www/html/env/lib/python3.10/site-packages/celery/utils/abstract.pyÚ	<genexpr>	   ó   € z_hasattr.<locals>.<genexpr>)ÚanyÚ__mro__)ÚCr   r   r   r   Ú_hasattr   s   r   c                   @   s*   e Zd Zeƒ Zedd„ ƒZedd„ ƒZdS )Ú_AbstractClassc                    s$   | |u ot ‡ fdd„| jD ƒƒptS )Nc                 3   s   � | ]}t ˆ |ƒV  qd S r   )r   )r	   r   ©r   r   r   r      r   z5_AbstractClass._subclasshook_using.<locals>.<genexpr>)ÚallÚ__required_attributes__ÚNotImplemented)ÚclsÚparentr   r   r   r   Ú_subclasshook_using   s
   þýz"_AbstractClass._subclasshook_usingc                 C   s   t | ƒ | |¡ |S r   )ÚtypeÚregister)r   Úotherr   r   r   r      s   z_AbstractClass.registerN)Ú__name__Ú
__module__Ú__qualname__Ú	frozensetr   Úclassmethodr   r   r   r   r   r   r      s    
r   )Ú	metaclassc                   @   sL   e Zd ZdZeh d£ƒZedd„ ƒZedd„ ƒZedd„ ƒZ	e
d	d
„ ƒZdS )r   zTask interface.>   ÚapplyÚdelayÚapply_asyncc                 O   ó   d S r   r   ©ÚselfÚargsÚkwargsr   r   r   r'   $   ó   zCallableTask.delayc                 O   r)   r   r   r*   r   r   r   r(   (   r.   zCallableTask.apply_asyncc                 O   r)   r   r   r*   r   r   r   r&   ,   r.   zCallableTask.applyc                 C   ó   |   t|¡S r   )r   r   ©r   r   r   r   r   Ú__subclasshook__0   ó   zCallableTask.__subclasshook__N)r    r!   r"   Ú__doc__r#   r   r   r'   r(   r&   r$   r1   r   r   r   r   r      s    


r   c                   @   s6  e Zd ZdZeh d£ƒZeedd„ ƒƒZeedd„ ƒƒZ	eedd„ ƒƒZ
eed	d
„ ƒƒZeedd„ ƒƒZeedd„ ƒƒZeedd„ ƒƒZeedd„ ƒƒZeedd„ ƒƒZeedd„ ƒƒZeedd„ ƒƒZed*dd„ƒZe		d+dd„ƒZed,dd„ƒZed d!„ ƒZed"d#„ ƒZed$d%„ ƒZed&d'„ ƒZed(d)„ ƒZdS )-r   zCelery Signature interface.>   ÚsetÚlinkÚcloneÚ__or__ÚfreezeÚ
link_errorc                 C   r)   r   r   ©r+   r   r   r   Úname<   ó   zCallableSignature.namec                 C   r)   r   r   r:   r   r   r   r   A   r<   zCallableSignature.typec                 C   r)   r   r   r:   r   r   r   ÚappF   r<   zCallableSignature.appc                 C   r)   r   r   r:   r   r   r   ÚidK   r<   zCallableSignature.idc                 C   r)   r   r   r:   r   r   r   ÚtaskP   r<   zCallableSignature.taskc                 C   r)   r   r   r:   r   r   r   r,   U   r<   zCallableSignature.argsc                 C   r)   r   r   r:   r   r   r   r-   Z   r<   zCallableSignature.kwargsc                 C   r)   r   r   r:   r   r   r   Úoptions_   r<   zCallableSignature.optionsc                 C   r)   r   r   r:   r   r   r   Úsubtask_typed   r<   zCallableSignature.subtask_typec                 C   r)   r   r   r:   r   r   r   Ú
chord_sizei   r<   zCallableSignature.chord_sizec                 C   r)   r   r   r:   r   r   r   Ú	immutablen   r<   zCallableSignature.immutableNc                 C   r)   r   r   r*   r   r   r   r6   s   r.   zCallableSignature.clonec                 C   r)   r   r   )r+   r>   Úgroup_idÚchordÚroot_idÚgroup_indexr   r   r   r8   w   r<   zCallableSignature.freezec                 K   r)   r   r   )r+   rC   r@   r   r   r   r4   |   r.   zCallableSignature.setc                 C   r)   r   r   )r+   Úcallbackr   r   r   r5   €   r.   zCallableSignature.linkc                 C   r)   r   r   )r+   Úerrbackr   r   r   r9   „   r.   zCallableSignature.link_errorc                 C   r)   r   r   )r+   r   r   r   r   r7   ˆ   r.   zCallableSignature.__or__c                 C   r)   r   r   r:   r   r   r   Ú
__invert__Œ   r.   zCallableSignature.__invert__c                 C   r/   r   )r   r   r0   r   r   r   r1   �   r2   z"CallableSignature.__subclasshook__)NN)NNNNNr   )r    r!   r"   r3   r#   r   Úpropertyr   r;   r   r=   r>   r?   r,   r-   r@   rA   rB   rC   r6   r8   r4   r5   r9   r7   rJ   r$   r1   r   r   r   r   r   5   sl    ÿ



r   N)r3   Úabcr   r   Úcollections.abcr   Ú__all__r   r   r   r   r   r   r   r   Ú<module>   s    