a
    0ªfT
  ã                   @   sp   d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZ g d¢Zeedœdd„Zeeeef dœd	d
„ZdS )é    )ÚHeaderÚdecode_headerÚmake_header)ÚMessage)ÚAnyÚDictÚListÚUnionÚcast))zMetadata-VersionF)ÚNameF)ÚVersionF)ÚDynamicT)ÚPlatformT)zSupported-PlatformT)ÚSummaryF)ÚDescriptionF)zDescription-Content-TypeF)ÚKeywordsF)z	Home-pageF)zDownload-URLF)ÚAuthorF)zAuthor-emailF)Ú
MaintainerF)zMaintainer-emailF)ÚLicenseF)Ú
ClassifierT)zRequires-DistT)zRequires-PythonF)zRequires-ExternalT)zProject-URLT)zProvides-ExtraT)zProvides-DistT)zObsoletes-DistT)ÚfieldÚreturnc                 C   s   |   ¡  dd¡S )Nú-Ú_)ÚlowerÚreplace)r   © r   úU/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pip/_internal/metadata/_json.pyÚ	json_name%   s    r   )Úmsgr   c                    s¼   t ttf tdœdd„‰ i }tD ]|\}}|| vr2q t|ƒ}|rX‡ fdd„|  |¡D ƒ}n<ˆ |  |¡ƒ}|dkr”d|v rŒdd„ | d¡D ƒ}n| ¡ }|||< q tt|  	¡ ƒ}|r¸||d	< |S )
z;Convert a Message object into a JSON-compatible dictionary.)Úhr   c              	   S   st   t | tƒrlg }t| ƒD ]H\}}|dkrPz| d¡ d}W n tyN   d}Y n0 | ||f¡ qtt|ƒƒS t| ƒS )Nzunknown-8bitzutf-8Úlatin1)Ú
isinstancer   r   ÚdecodeÚUnicodeDecodeErrorÚappendÚstrr   )r    ÚchunksÚbytesÚencodingr   r   r   Úsanitise_header,   s    


z$msg_to_json.<locals>.sanitise_headerc                    s   g | ]}ˆ |ƒ‘qS r   r   ©Ú.0Úv©r*   r   r   Ú
<listcomp>B   s   zmsg_to_json.<locals>.<listcomp>Úkeywordsú,c                 S   s   g | ]}|  ¡ ‘qS r   )Ústripr+   r   r   r   r/   K   ó    Údescription)
r	   r   r&   ÚMETADATA_FIELDSr   Úget_allÚgetÚsplitr
   Úget_payload)r   Úresultr   ÚmultiÚkeyÚvalueÚpayloadr   r.   r   Úmsg_to_json)   s(    
ÿ
r?   N)Zemail.headerr   r   r   Úemail.messager   Útypingr   r   r   r	   r
   r5   r&   r   r?   r   r   r   r   Ú<module>   s
   