U
    ±º|e–	  ã                   @   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                       s|   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‡ fdd„Zdd„ Zedd„ ƒZ‡  ZS )ÚMessageÚ
ClassifierzObsoletes-DistZPlatformzProject-URLzProvides-DistzProvides-ExtrazRequires-DistzRequires-ExternalzSupported-PlatformZDynamic)Úorigc                    s"   t ƒ  | ¡}t|ƒ t|ƒ¡ |S ©N)ÚsuperÚ__new__ÚvarsÚupdate)Úclsr	   Úres©Ú	__class__© úY/var/www/website-v5/atlas_env/lib/python3.8/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krtƒ  |S )zŠ
        Warn users that a ``KeyError`` can be expected when a
        mising 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| k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   Z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ˆ  | ¡nˆ |  }| dkr0t d|¡}|  ¡  dd¡}||fS )NÚKeywordsz\s+ú-Ú_)Úmultiple_use_keysÚget_allÚreÚsplitÚlowerÚreplace)r&   r#   Útkr   r   r   Ú	transformS   s
    zMessage.json.<locals>.transform)ÚdictÚmapr   )r   r7   r   r   r   ÚjsonL   s    zMessage.json)Ú__name__Ú
__module__Ú__qualname__Úsetr9   r   r0   ÚemailÚmessager   r   r   r   r   r   Úpropertyr:   Ú__classcell__r   r   r   r   r      s.   öþÿ
r   )Ú	functoolsÚwarningsr2   r!   Úemail.messager?   Ú_textr   Ú_compatr   ÚpartialÚwarnÚDeprecationWarningr   r@   r   r   r   r   r   Ú<module>   s   ü