3
€»eF  ã               @   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                   sp   e Zd Zeeeddddddddd	d
g
ƒƒZejj	dœ‡ fdd„Z
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-PlatformZDynamic)Úorigc                s"   t ƒ j| ƒ}t|ƒjt|ƒƒ |S )N)ÚsuperÚ__new__ÚvarsÚupdate)Úclsr   Úres)Ú	__class__© úJ/tmp/pip-build-3irwxpxt/importlib-metadata/importlib_metadata/_adapters.pyr	      s    zMessage.__new__c             O   s   | j ƒ | _d S )N)Ú_repair_headersÚ_headers)ÚselfÚargsÚkwargsr   r   r   Ú__init__#   s    zMessage.__init__c                s
   t ƒ jƒ S )N)r   Ú__iter__)r   )r   r   r   r   '   s    zMessage.__iter__c                s>   dd„ ‰ ‡ fdd„t | ƒd D ƒ}| jr:|jd| jƒ fƒ |S )Nc             S   s    |  sd| kr| S t j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>1   s    z+Message._repair_headers.<locals>.<listcomp>r   ÚDescription)r
   Ú_payloadÚappendÚget_payload)r   Úheadersr   )r   r   r   *   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 krˆ j| ƒnˆ |  }| dkr0tjd|ƒ}| jƒ jddƒ}||fS )NZKeywordsz\s+ú-Ú_)Úmultiple_use_keysÚget_allÚreÚsplitÚlowerÚreplace)r    r   Ztk)r   r   r   Ú	transform=   s
    zMessage.json.<locals>.transform)ÚdictÚmapr   )r   r/   r   )r   r   Újson6   s    zMessage.json)Ú__name__Ú
__module__Ú__qualname__Úsetr1   r   r)   ÚemailÚmessager   r	   r   r   r   Úpropertyr2   Ú__classcell__r   r   )r   r   r      s$   
r   )r+   r   Úemail.messager7   Z_textr   r8   r   r   r   r   r   Ú<module>   s   