a
    b½3j—
  ã                   @  sh   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	m
Z
 g d¢Zdddœdd	„Zd
ddœdd„ZdS )é    )Úannotations)ÚHeaderÚdecode_headerÚmake_header)ÚMessage)ÚAnyÚcast))zMetadata-VersionF)ÚNameF)ÚVersionF)Z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)zLicense-ExpressionF)zLicense-FileT)Ú
ClassifierT)zRequires-DistT)zRequires-PythonF)zRequires-ExternalT)zProject-URLT)zProvides-ExtraT)zProvides-DistT)zObsoletes-DistTÚstr)ÚfieldÚreturnc                 C  s   |   ¡  dd¡S )Nú-Ú_)ÚlowerÚreplace)r   © r   úy/www/wwwroot/dpstar/app/297b3aabda72fedb274352021c2dd8b5_venv/lib/python3.9/site-packages/pip/_internal/metadata/_json.pyÚ	json_name(   s    r   r   zdict[str, Any])Úmsgr   c                   s´   dddœdd„‰ i }t D ]|\}}|| vr*qt|ƒ}|rP‡ 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.zHeader | strr   )Ú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Úappendr   r   )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>E   s   zmsg_to_json.<locals>.<listcomp>Úkeywordsú,c                 S  s   g | ]}|  ¡ ‘qS r   )Ústripr(   r   r   r   r,   N   ó    Údescription)ÚMETADATA_FIELDSr   Úget_allÚgetÚsplitr   r   Úget_payload)r   Úresultr   ZmultiÚkeyÚvalueÚpayloadr   r+   r   Úmsg_to_json,   s(    
ÿ
r;   N)Ú
__future__r   Zemail.headerr   r   r   Úemail.messager   Útypingr   r   r2   r   r;   r   r   r   r   Ú<module>   s    