U
    Ha                     @   s   d Z ddlmZ z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   1/tmp/pip-unpacked-wheel-67hhwib2/wheel/pkginfo.pyread_pkg_info_bytes   s    r   c              	   C   s&   t | d}t |}W 5 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 5 Q R X d S )NwFr   mangle_from_maxheaderlen)r   r   flatten)r   r   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 5 Q R X |S )Nr	   r   r   r   r
   r   r   r   r   r   "   s    c              	   C   s.   t | d}t|ddd| W 5 Q R X d S )NwbFr   r   )r   r   r   )r   r   outr   r   r   r   )   s    N)__doc__email.parserr   unicodeZ_PY3	NameErroremail.generatorr   r   r   r   r   r   r   r   r   <module>   s   

