U
    9%e                     @   sN   d Z ddlZddlZddlmZ G dd deZeeeeeeedddZdS )	zDeprecation utilities    N)Anyc                   @   s   e Zd ZdZedddZdS )
Deprecatedz9A dummy class to catch usage of deprecated variable names)returnc                 C   s   dS )z+Pretty-print display for deprecated objectsz<DEPRECATED parameter> )selfr   r   W/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/librosa/util/deprecation.py__repr__   s    zDeprecated.__repr__N)__name__
__module____qualname____doc__strr   r   r   r   r   r   
   s   r   )old_name	old_valuenew_name	new_valueversion_deprecatedversion_removedr   c                 C   sH   t |tr|S t }|d }tjd|d | |||tdd |S dS )aZ  Handle renamed arguments.

    Parameters
    ----------
    old_name : str
    old_value
        The name and value of the old argument
    new_name : str
    new_value
        The name and value of the new argument
    version_deprecated : str
        The version at which the old name became deprecated
    version_removed : str
        The version at which the old name will be removed

    Returns
    -------
    value
        - ``new_value`` if ``old_value`` of type `Deprecated`
        - ``old_value`` otherwise

    Warnings
    --------
    if ``old_value`` is not of type `Deprecated`

       zu{:s}() keyword argument '{:s}' has been renamed to '{:s}' in version {:}.
	This alias will be removed in version {:}.   )category
stacklevelN)
isinstancer   inspectstackwarningswarnformatFutureWarning)r   r   r   r   r   r   r   Zdep_funcr   r   r   	rename_kw   s     #
    r   )	r   r   r   typingr   objectr   r   r   r   r   r   r   <module>   s   
