
    yiBe
                     H    d Z ddlZddlmZ  ee      Z G d de      Zd Zy)z
Note that DeprecationWarnings are ignored by default in Python
2.7/3.2+, so be sure to either un-ignore them in your code, or run
Python with the -Wd flag.
    N)warnc                   (     e Zd Z fdZ fdZ xZS )DeprecatableModulec                     |j                   }t        t        |   |       | j                  j                  |j                         y )N)name)__name__superr   __init____dict__update)selfmoduler   	__class__s      1lib/python3.12/site-packages/boltons/deprutils.pyr
   zDeprecatableModule.__init__1   s5     $0d0;V__-    c                     t         t        | 
  }	  |d      } ||      }|j                  |      }|t        |t        d       |S # t        $ r i x| _        }Y Cw xY w)N_deprecated_members   )
stacklevel)r	   r   __getattribute__AttributeErrorr   getr   DeprecationWarning)r   r   get_attributedeprosretmessager   s         r   r   z#DeprecatableModule.__getattribute__6   sp    0$H	3"#89F D!**T",;
  	3022D$v	3s   A AA)r   
__module____qualname__r
   r   __classcell__)r   s   @r   r   r   0   s    .

 
r   r   c                     t         j                  |    }t        |t              st        |      xt         j                  | <   }||j                  |<   y )N)sysmodules
isinstancer   r   )mod_namer   r   r   s       r   deprecate_module_memberr&   C   sF    [["Ff01);F)CCH'.Ft$
r   )__doc__r"   warningsr   type
ModuleTyper   r&    r   r   <module>r,      s-   D  #Y

 &r   