
    h$                     p    d Z ddlZddlmZ ddlmZmZ dZdZdZ		 	 ddZ
	 	 dd	Z	 	 dd
Z G d d      Zy)zDeprecation utilities.    Nwraps)CDeprecationWarningCPendingDeprecationWarning)CallablePropertywarnz
    {description} is scheduled for deprecation in     version {deprecation} and removal in version v{removal}.     {alternative}
zc
    {description} is deprecated and scheduled for removal in
    version {removal}. {alternative}
c                     | |||d}|t        t        j                  di |      }nt        t	        j                  di |      }t        j                  ||       y)zWarn of (pending) deprecation.)descriptiondeprecationremovalalternativeN)
stacklevel )r   PENDING_DEPRECATION_FMTformatr   DEPRECATION_FMTwarningsr	   )r   r   r   r   r   ctxws          S/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/utils/deprecated.pyr	   r	      s]     &%'%'C &'>'E'E'L'LM 6 6 = =>MM!
+    c                       fd}|S )a  Decorator for deprecated functions.

    A deprecation warning will be emitted when the function is called.

    Arguments:
        deprecation (str): Version that marks first deprecation, if this
            argument isn't set a ``PendingDeprecationWarning`` will be
            emitted instead.
        removal (str): Future version when this feature will be removed.
        alternative (str): Instructions for an alternative solution (if any).
        description (str): Description of what's being deprecated.
    c                 8     t                fd       }|S )Nc                  T    ddl m} t        xs  |      d        | i |S )N   )qualname   )r   r   r   r   r   )importsr   r	   )argskwargsr   r   r   r   funr   s      r   __innerz)Callable.<locals>._inner.<locals>.__inner4   s7    )[9HSM( (	
 '''r   r   )r"   r#   r   r   r   r   s   ` r   _innerzCallable.<locals>._inner2   s     	s	( 
	( r   r   r   r   r   r   r$   s   ```` r   r   r   $   s     Mr   c                       fd}|S )z$Decorator for deprecated properties.c                 @    t        | xs | j                        S )N)r   r   r   r   )_deprecated_property__name__)r"   r   r   r   r   s    r   r$   zProperty.<locals>._innerD   s'    #['#1LN 	Nr   r   r%   s   ```` r   r   r   A   s    N Mr   c                   4    e Zd ZddZd	dZd Zd Zd Zd Zy)
r(   Nc                     || _         || _        || _        |j                  |j                  |j
                  c| _        | _        | _        || _        | j                  j                  dd       y )Nr   r   )_deprecated_property__get_deprecated_property__set_deprecated_property__delr)   
__module____doc__	depreinfo
setdefault)selffgetfsetfdeldocr1   s         r   __init__z_deprecated_property.__init__M   sX    


MM4??DLL 	5t #!!,2r   c                 V    || S t        di | j                   | j                  |      S )Nr   )r	   r1   r,   )r3   objtypes      r   __get__z_deprecated_property.__get__W   s)    ;Kt~~zz#r   c                     || S | j                   t        d      t        di | j                   | j                  ||       y )Nzcannot set attributer   )r-   AttributeErrorr	   r1   )r3   r:   values      r   __set__z_deprecated_property.__set__]   s?    ;K:: !788t~~

3r   c                     || S | j                   t        d      t        di | j                   | j                  |       y )Nzcannot delete attributer   )r.   r>   r	   r1   )r3   r:   s     r   
__delete__z_deprecated_property.__delete__e   s<    ;K:: !:;;t~~

3r   c                 h     | j                   | j                  || j                  fi | j                  S N)	__class__r,   r.   r1   )r3   r5   s     r   setterz_deprecated_property.setterm   s(    t~~djj$

MdnnMMr   c                 h     | j                   | j                  | j                  |fi | j                  S rD   )rE   r,   r-   r1   )r3   r6   s     r   deleterz_deprecated_property.deleterp   s(    t~~djj$**dMdnnMMr   NNNNrD   )	r)   r/   __qualname__r8   r<   r@   rB   rF   rH   r   r   r   r(   r(   K   s"    3NNr   r(   )NNNN   rI   )r0   r   
vine.utilsr   celery.exceptionsr   r   __all__r   r   r	   r   r   r(   r   r   r   <module>rO      sX       M
*  (,45
, (,+/: (,+/&N &Nr   