o
    –º¥g	  ã                   @   s<   d dl Zd dlZd dlZddlmZ G dd„ dejjƒZdS )é    Né   )Ú
FoldedCasec                       sn   e Zd Zeeeg d¢ƒƒZ	 dejj	f‡ fdd„Z
dd„ Z‡ fdd„Z‡ fd	d
„Zdd„ Zedd„ ƒZ‡  ZS )ÚMessage)
Ú
ClassifierzObsoletes-DistÚPlatformzProject-URLzProvides-DistzProvides-ExtrazRequires-DistzRequires-ExternalzSupported-PlatformÚDynamicÚorigc                    s"   t ƒ  | ¡}t|ƒ t|ƒ¡ |S ©N)ÚsuperÚ__new__ÚvarsÚupdate)Úclsr   Úres©Ú	__class__© úS/var/www/visachat/venv/lib/python3.10/site-packages/importlib_metadata/_adapters.pyr      s   zMessage.__new__c                 O   s   |   ¡ | _d S r	   )Ú_repair_headersÚ_headers)ÚselfÚargsÚkwargsr   r   r   Ú__init__#   s   zMessage.__init__c                    s
   t ƒ  ¡ S r	   )r
   Ú__iter__©r   r   r   r   r   '   s   
zMessage.__iter__c                    s    t ƒ  |¡}|du rt|ƒ‚|S )a"  
        Override parent behavior to typical dict behavior.

        ``email.message.Message`` will emit None values for missing
        keys. Typical mappings, including this ``Message``, will raise
        a key error for missing keys.

        Ref python/importlib_metadata#371.
        N)r
   Ú__getitem__ÚKeyError)r   Úitemr   r   r   r   r   *   s   
zMessage.__getitem__c                    s>   dd„ ‰ ‡ fdd„t | ƒd D ƒ}| jr| d|  ¡ f¡ |S )Nc                 S   s   | rd| vr| S t  d|  ¡S )zCorrect for RFC822 indentationÚ
z        )ÚtextwrapÚdedent)Úvaluer   r   r   Úredent:   s   z'Message._repair_headers.<locals>.redentc                    s   g | ]
\}}|ˆ |ƒf‘qS r   r   )Ú.0Úkeyr"   ©r#   r   r   Ú
<listcomp>@   s    z+Message._repair_headers.<locals>.<listcomp>r   ÚDescription)r   Ú_payloadÚappendÚget_payload)r   Úheadersr   r&   r   r   9   s
   zMessage._repair_headersc                    s    ‡ fdd„}t t|ttˆ ƒƒƒS )z[
        Convert PackageMetadata to a JSON-compatible format
        per PEP 0566.
        c                    sH   | ˆ j v r
ˆ  | ¡nˆ |  }| dkrt d|¡}|  ¡  dd¡}||fS )NÚKeywordsz\s+ú-Ú_)Úmultiple_use_keysÚget_allÚreÚsplitÚlowerÚreplace)r%   r"   Útkr   r   r   Ú	transformL   s
   zMessage.json.<locals>.transform)ÚdictÚmapr   )r   r7   r   r   r   ÚjsonE   s   zMessage.json)Ú__name__Ú
__module__Ú__qualname__Úsetr9   r   r0   ÚemailÚmessager   r   r   r   r   r   Úpropertyr:   Ú__classcell__r   r   r   r   r      s    þÿr   )Úemail.messager?   r2   r    Ú_textr   r@   r   r   r   r   r   Ú<module>   s
    