o
    wvXj«  ã                   @   s®   d Z ddlmZmZ ddlmZmZmZ ddlm	Z	 zddl
mZ W n ey1   ddlmZ Y nw dZdd„ Ze	eƒG d	d
„ d
eƒƒZG dd„ deeƒZG dd„ deƒZdS )zAbstract classes.é    )Úabsolute_importÚunicode_literals)ÚABCMetaÚabstractmethodÚabstractproperty)Úwith_metaclass)Ú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© úR/var/www/html/myproject/venv/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   c                   @   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*   0   ó   zCallableTask.delayc                 O   r,   r   r   r-   r   r   r   r+   4   r1   zCallableTask.apply_asyncc                 O   r,   r   r   r-   r   r   r   r)   8   r1   zCallableTask.applyc                 C   ó   |   t|¡S r   )r    r	   ©r   r   r   r   r   Ú__subclasshook__<   ó   zCallableTask.__subclasshook__N)r$   r%   r&   Ú__doc__r'   r   r   r*   r+   r)   r(   r4   r   r   r   r   r	   )   s    


r	   c                   @   s  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
edd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZ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   ÚnameH   r1   zCallableSignature.namec                 C   r,   r   r   r=   r   r   r   r!   L   r1   zCallableSignature.typec                 C   r,   r   r   r=   r   r   r   ÚappP   r1   zCallableSignature.appc                 C   r,   r   r   r=   r   r   r   ÚidT   r1   zCallableSignature.idc                 C   r,   r   r   r=   r   r   r   ÚtaskX   r1   zCallableSignature.taskc                 C   r,   r   r   r=   r   r   r   r/   \   r1   zCallableSignature.argsc                 C   r,   r   r   r=   r   r   r   r0   `   r1   zCallableSignature.kwargsc                 C   r,   r   r   r=   r   r   r   Úoptionsd   r1   zCallableSignature.optionsc                 C   r,   r   r   r=   r   r   r   Úsubtask_typeh   r1   zCallableSignature.subtask_typec                 C   r,   r   r   r=   r   r   r   Ú
chord_sizel   r1   zCallableSignature.chord_sizec                 C   r,   r   r   r=   r   r   r   Ú	immutablep   r1   zCallableSignature.immutableNc                 C   r,   r   r   r-   r   r   r   r9   t   r1   zCallableSignature.clonec                 C   r,   r   r   )r.   r@   Úgroup_idÚchordÚroot_idr   r   r   r;   x   r1   zCallableSignature.freezec                 K   r,   r   r   )r.   rE   rB   r   r   r   r7   |   r1   zCallableSignature.setc                 C   r,   r   r   )r.   Úcallbackr   r   r   r8   €   r1   zCallableSignature.linkc                 C   r,   r   r   )r.   Úerrbackr   r   r   r<   „   r1   zCallableSignature.link_errorc                 C   r,   r   r   )r.   r#   r   r   r   r:   ˆ   r1   zCallableSignature.__or__c                 C   r,   r   r   r=   r   r   r   Ú
__invert__Œ   r1   zCallableSignature.__invert__c                 C   r2   r   )r    r
   r3   r   r   r   r4   �   r5   z"CallableSignature.__subclasshook__)NN)NNNNr   )r$   r%   r&   r6   r'   r   r   r>   r!   r?   r@   rA   r/   r0   rB   rC   rD   rE   r   r9   r;   r7   r8   r<   r:   rK   r(   r4   r   r   r   r   r
   A   sR    














r
   N)r6   Ú
__future__r   r   Úabcr   r   r   Úcelery.fiver   Úcollections.abcr   ÚImportErrorÚcollectionsÚ__all__r   Úobjectr   r	   r
   r   r   r   r   Ú<module>   s   þ