
    `f$                     x    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dS )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        ||           dS )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          I/var/www/html/env/lib/python3.11/site-packages/celery/utils/deprecated.pyr	   r	      s}     &%'%' 'C &'>'E'L'L'L'LMM 6 = = = =>>M!
++++++    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                 F     t                      fd            }|S )Nc                  ^    ddl m} t          p
 |          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   s^    ))))))[9HHSMM( (	   
 3''''r   r   )r#   r$   r   r   r   r   s   ` r   _innerzCallable.<locals>._inner2   sH    	s	( 	( 	( 	( 	( 	( 	( 	( 
	( r   r   r   r   r   r   r%   s   ```` r   r   r   $   s5            Mr   c                       fd}|S )z$Decorator for deprecated properties.c                 :    t          | p| j                  S )N)r   r   r   r   )_deprecated_property__name__)r#   r   r   r   r   s    r   r%   zProperty.<locals>._innerD   s1    #['#1LN N N 	Nr   r   r&   s   ```` r   r   r   A   s=    N N N N N N N N Mr   c                   6    e Zd ZddZd	dZd Zd Zd Zd ZdS )
r)   Nc                     || _         || _        || _        |j        |j        |j        c| _        | _        | _        || _        | j                            dd           d S )Nr   r   )_deprecated_property__get_deprecated_property__set_deprecated_property__delr*   
__module____doc__	depreinfo
setdefault)selffgetfsetfdeldocr2   s         r   __init__z_deprecated_property.__init__M   s\    


M4?DL 	5t #!!,22222r   c                 V    || S t          di | j         |                     |          S )Nr   )r	   r2   r-   )r4   objtypes      r   __get__z_deprecated_property.__get__W   s2    ;Kt~zz#r   c                     || S | j         t          d          t          di | j         |                      ||           d S )Nzcannot set attributer   )r.   AttributeErrorr	   r2   )r4   r;   values      r   __set__z_deprecated_property.__set__]   sS    ;K: !7888t~

3r   c                     || S | j         t          d          t          di | j         |                      |           d S )Nzcannot delete attributer   )r/   r?   r	   r2   )r4   r;   s     r   
__delete__z_deprecated_property.__delete__e   sL    ;K: !:;;;t~

3r   c                 @     | j         | j        || j        fi | j        S N)	__class__r-   r/   r2   )r4   r6   s     r   setterz_deprecated_property.setterm   s&    t~dj$
MMdnMMMr   c                 @     | j         | j        | j        |fi | j        S rE   )rF   r-   r.   r2   )r4   r7   s     r   deleterz_deprecated_property.deleterp   s&    t~dj$*dMMdnMMMr   NNNNrE   )	r*   r0   __qualname__r9   r=   rA   rC   rG   rI   r   r   r   r)   r)   K   s        3 3 3 3       N N NN N N N Nr   r)   )NNNNr
   rJ   )r1   r   
vine.utilsr   celery.exceptionsr   r   __all__r   r   r	   r   r   r)   r   r   r   <module>rO      s             M M M M M M M M
*  (,45
, 
, 
, 
, (,+/   : (,+/   &N &N &N &N &N &N &N &N &N &Nr   