o
    Zh	                     @   sp   d dl Z d dlZd dlZd dlZd dlZddlmZ ddlm	Z	 e j
ejdee	ddZG dd	 d	ejjZdS )
    N   )
FoldedCase)pypy_partialzFImplicit None on return values is deprecated and will raise KeyErrors.   )
stacklevelc                       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/html/lang_env/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   3   s   
zMessage.__iter__c                    s   t  |}|du rt  |S )z
        Warn users that a ``KeyError`` can be expected when a
        missing key is supplied. Ref python/importlib_metadata#371.
        N)r   __getitem___warn)r   itemr   r   r   r   r   6   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   redentA   s   z'Message._repair_headers.<locals>.redentc                    s   g | ]
\}}| |fqS r   r   ).0keyr%   r&   r   r   
<listcomp>G   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 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%   Ztkr   r   r   	transformS   s
   zMessage.json.<locals>.transform)dictmapr   )r   r9   r   r   r   jsonL   s   zMessage.json)__name__
__module____qualname__setr;   r   r3   emailmessager   r   r   r   r   r   propertyr<   __classcell__r   r   r   r   r      s    
r   )	functoolswarningsr5   r#   email.messagerA   _textr   _compatr   partialwarnDeprecationWarningr    rB   r   r   r   r   r   <module>   s    