a
    xd:                     @   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 M/var/www/html/Ranjet/env/lib/python3.9/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 r 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_asyncapplydelayc                 O   s   d S r   r   selfargskwargsr   r   r   r(   $   s    zCallableTask.delayc                 O   s   d S r   r   r)   r   r   r   r&   (   s    zCallableTask.apply_asyncc                 O   s   d S r   r   r)   r   r   r   r'   ,   s    zCallableTask.applyc                 C   s   |  t|S r   )r   r   r   r   r   r   r   __subclasshook__0   s    zCallableTask.__subclasshook__N)r    r!   r"   __doc__r#   r   r   r(   r&   r'   r$   r.   r   r   r   r   r      s   


r   c                   @   s2  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.>   
link_errorclonefreeze__or__linksetc                 C   s   d S r   r   r*   r   r   r   name<   s    zCallableSignature.namec                 C   s   d S r   r   r6   r   r   r   r   A   s    zCallableSignature.typec                 C   s   d S r   r   r6   r   r   r   appF   s    zCallableSignature.appc                 C   s   d S r   r   r6   r   r   r   idK   s    zCallableSignature.idc                 C   s   d S r   r   r6   r   r   r   taskP   s    zCallableSignature.taskc                 C   s   d S r   r   r6   r   r   r   r+   U   s    zCallableSignature.argsc                 C   s   d S r   r   r6   r   r   r   r,   Z   s    zCallableSignature.kwargsc                 C   s   d S r   r   r6   r   r   r   options_   s    zCallableSignature.optionsc                 C   s   d S r   r   r6   r   r   r   subtask_typed   s    zCallableSignature.subtask_typec                 C   s   d S r   r   r6   r   r   r   
chord_sizei   s    zCallableSignature.chord_sizec                 C   s   d S r   r   r6   r   r   r   	immutablen   s    zCallableSignature.immutableNc                 C   s   d S r   r   r)   r   r   r   r1   s   s    zCallableSignature.clonec                 C   s   d S r   r   )r*   r9   Zgroup_idZchordZroot_idZgroup_indexr   r   r   r2   w   s    zCallableSignature.freezec                 K   s   d S r   r   )r*   r>   r;   r   r   r   r5   |   s    zCallableSignature.setc                 C   s   d S r   r   )r*   callbackr   r   r   r4      s    zCallableSignature.linkc                 C   s   d S r   r   )r*   Zerrbackr   r   r   r0      s    zCallableSignature.link_errorc                 C   s   d S r   r   )r*   r   r   r   r   r3      s    zCallableSignature.__or__c                 C   s   d S r   r   r6   r   r   r   
__invert__   s    zCallableSignature.__invert__c                 C   s   |  t|S r   )r   r   r-   r   r   r   r.      s    z"CallableSignature.__subclasshook__)NN)NNNNN)N)r    r!   r"   r/   r#   r   propertyr   r7   r   r8   r9   r:   r+   r,   r;   r<   r=   r>   r1   r2   r5   r4   r0   r3   r@   r$   r.   r   r   r   r   r   5   sj     



r   N)r/   abcr   r   collections.abcr   __all__r   r   r   r   r   r   r   r   <module>   s   