U
    ¿9%e0  ã                   @   s   d dl Z G dd„ deƒZdS )é    Nc                       sT   e Zd ZdZ‡ fdd„Z‡ fdd„Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
‡  ZS )ÚBunchaØ  Container object exposing keys as attributes.

    Bunch objects are sometimes used as an output for functions and methods.
    They extend dictionaries by enabling values to be accessed by key,
    `bunch["value_key"]`, or by an attribute, `bunch.value_key`.

    Examples
    --------
    >>> from sklearn.utils import Bunch
    >>> b = Bunch(a=1, b=2)
    >>> b['b']
    2
    >>> b.b
    2
    >>> b.a = 3
    >>> b['a']
    3
    >>> b.c = 6
    >>> b['c']
    6
    c                    s   t ƒ  |¡ i | jd< d S ©NÚ_deprecated_key_to_warnings)ÚsuperÚ__init__Ú__dict__)ÚselfÚkwargs©Ú	__class__© úS/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sklearn/utils/_bunch.pyr      s    zBunch.__init__c                    s0   || j  di ¡kr$t | j| t¡ tƒ  |¡S r   )r   ÚgetÚwarningsÚwarnr   ÚFutureWarningr   Ú__getitem__©r   Úkeyr
   r   r   r   !   s    þzBunch.__getitem__c                C   s"   || j d |< | | |< | |< dS )z@Set key in dictionary to be deprecated with its warning message.r   N)r   )r   ÚvalueZnew_keyZdeprecated_keyZwarning_messager   r   r   Ú_set_deprecated)   s    zBunch._set_deprecatedc                 C   s   || |< d S ©Nr   )r   r   r   r   r   r   Ú__setattr__.   s    zBunch.__setattr__c                 C   s   |   ¡ S r   )Úkeys)r   r   r   r   Ú__dir__1   s    zBunch.__dir__c                 C   s,   z
| | W S  t k
r&   t|ƒ‚Y nX d S r   )ÚKeyErrorÚAttributeErrorr   r   r   r   Ú__getattr__4   s    
zBunch.__getattr__c                 C   s   d S r   r   )r   Ústater   r   r   Ú__setstate__:   s    	zBunch.__setstate__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   Ú__classcell__r   r   r
   r   r      s   r   )r   Údictr   r   r   r   r   Ú<module>   s   