U
    öî,e#
  ã                   @   sš   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
 dddddd	d
ddddddddddddddddddg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)zMetadata-VersionF)ÚNameF)ÚVersionF)ZDynamicT)ÚPlatformT)zSupported-PlatformT)ZSummaryF)ZDescriptionF)zDescription-Content-TypeF)ZKeywordsF)z	Home-pageF)zDownload-URLF)ZAuthorF)zAuthor-emailF)Z
MaintainerF)zMaintainer-emailF)Z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   ú]/var/www/html/Darija-Ai-Train/env/lib/python3.8/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 ]|\}}|| kr2q t|ƒ}|rX‡ fdd„|  |¡D ƒ}n<ˆ |  |¡ƒ}|dkr”d|krŒdd„ | d¡D ƒ}n| ¡ }|||< q |  ¡ }|r²||d	< |S )
z;Convert a Message object into a JSON-compatible dictionary.)Úhr   c              	   S   sv   t | tƒrng }t| ƒD ]J\}}|dkrRz| d¡ d}W n tk
rP   d}Y nX | ||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   s     Údescription)	r	   r   r   ÚMETADATA_FIELDSr   Úget_allÚgetÚsplitÚget_payload)r   Úresultr   ZmultiÚkeyÚvalueÚpayloadr   r&   r   Úmsg_to_json)   s(    
ÿ
r5   N)Zemail.headerr   r   r   Úemail.messager   Útypingr   r   r   r	   r,   r   r   r5   r   r   r   r   Ú<module>   s<   æ