3
€»eç  ã               @   s6   d dl Z G dd„ de jƒZG dd„ de jddƒƒZdS )é    Nc                   s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )ÚFreezableDefaultDicta!  
    Often it is desirable to prevent the mutation of
    a default dict after its initial construction, such
    as to prevent mutation during iteration.

    >>> dd = FreezableDefaultDict(list)
    >>> dd[0].append('1')
    >>> dd.freeze()
    >>> dd[1]
    []
    >>> len(dd)
    1
    c                s   t | dtƒ jƒ|ƒS )NÚ_frozen)ÚgetattrÚsuperÚ__missing__)ÚselfÚkey)Ú	__class__© úM/tmp/pip-build-3irwxpxt/importlib-metadata/importlib_metadata/_collections.pyr      s    z FreezableDefaultDict.__missing__c                s   ‡ fdd„ˆ _ d S )Nc                s   ˆ j ƒ S )N)Údefault_factory)r   )r   r
   r   Ú<lambda>   s    z-FreezableDefaultDict.freeze.<locals>.<lambda>)r   )r   r
   )r   r   Úfreeze   s    zFreezableDefaultDict.freeze)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__r
   r
   )r	   r   r      s   r   c               @   s   e Zd Zedd„ ƒZdS )ÚPairc             C   s   | t tj|jddƒƒŽ S )Nú=é   )ÚmapÚstrÚstripÚsplit)ÚclsÚtextr
   r
   r   Úparse   s    z
Pair.parseN)r   r   r   Úclassmethodr   r
   r
   r
   r   r      s   r   z
name value)ÚcollectionsÚdefaultdictr   Ú
namedtupler   r
   r
   r
   r   Ú<module>   s   