B
    #Y]                 @   s   d Z ddlmZ ye dZW n ek
r4   dZY nX es`ddlmZ dd Zdd	 Z	d
d Z
n$ddlmZ dd Zdd	 Z	dd Z
dS )zTTools for reading and writing PKG-INFO / METADATA without caring
about the encoding.    )ParserFT)	Generatorc             C   s   t  | S )N)r   parsestr)bytestr r   ,lib/python3.7/site-packages/wheel/pkginfo.pyread_pkg_info_bytes   s    r   c          	   C   s&   t | d}t |}W d Q R X |S )Nr)openr   parse)pathheadersmessager   r   r   read_pkg_info   s    r   c          	   C   s.   t | d}t|ddd| W d Q R X d S )NwFr   )mangle_from_maxheaderlen)r
   r   flatten)r   r   Zmetadatar   r   r   write_pkg_info   s    r   )BytesGeneratorc             C   s   | j ddd}t |}|S )Nasciisurrogateescape)encodingerrors)decoder   r   )r   r   r   r   r   r   r      s    c          	   C   s,   t | dddd}t |}W d Q R X |S )Nr	   r   r   )r   r   )r
   r   r   )r   r   r   r   r   r   r   "   s
    
c          	   C   s.   t | d}t|ddd| W d Q R X d S )NwbFr   )r   r   )r
   r   r   )r   r   outr   r   r   r   )   s    N)__doc__Zemail.parserr   ZunicodeZ_PY3	NameErrorZemail.generatorr   r   r   r   r   r   r   r   r   <module>   s   

