
!dV                 @   s   d  Z  d d l m Z y e d Z Wn e k
 r> d Z Yn Xe s| d d l m Z d d   Z d d	   Z	 d
 d   Z
 n4 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    j |   S)N)r   parsestr)bytestr r   ./tmp/pip-build-0jahl3lb/wheel/wheel/pkginfo.pyread_pkg_info_bytes   s    r   c          	   C   s.   t  |  d   } t   j |  } Wd  QX| S)Nr)openr   parse)pathheadersmessager   r   r   read_pkg_info   s    r   c             C   s5   t  |  d    } t | d d j |  Wd  QXd  S)Nwmaxheaderlenr   )r
   r   flatten)r   r   metadatar   r   r   write_pkg_info   s    r   )BytesGeneratorc             C   s.   |  j  d d d d  } t   j |  } | S)Nencodingasciierrorssurrogateescape)decoder   r   )r   r   r   r   r   r   r      s    c          	   C   s:   t  |  d d d d d  } t   j |  } Wd  QX| S)Nr	   r   r   r   r   )r
   r   r   )r   r   r   r   r   r   r   "   s
    c             C   s5   t  |  d    } t | d d j |  Wd  QXd  S)Nwbr   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   
