
|«‘_ä  ã               @   sP   d  d l  Z  d  d l Z d  d l m Z d d „  Z d d „  Z d d „  Z d S)	é    N)Úsixc             C   so   t  |  t j ƒ r" t j d |  ƒ Sy4 |  j d ƒ }  t j d |  ƒ }  |  j d ƒ }  Wn t k
 rj Yn X|  S)NZNFDzutf-8)Ú
isinstancer   Ú	text_typeÚunicodedataÚ	normalizeÚdecodeÚencodeÚUnicodeError)Úpath© r   ú>/tmp/pip-build-3_sjtvrs/setuptools/setuptools/unicode_utils.pyÚ	decompose   s    r   c             C   sr   t  |  t j ƒ r |  St j ƒ  p% d } | d f } x7 | D]/ } y |  j | ƒ SWq; t k
 ri w; Yq; Xq; Wd S)zY
    Ensure that the given path is decoded,
    NONE when no expected encoding works
    zutf-8N)r   r   r   ÚsysÚgetfilesystemencodingr   ÚUnicodeDecodeError)r
   Zfs_encÚ
candidatesÚencr   r   r   Úfilesys_decode   s    r   c             C   s.   y |  j  | ƒ SWn t k
 r) d SYn Xd S)z/turn unicode encoding into a functional routineN)r   ÚUnicodeEncodeError)Ústringr   r   r   r   Ú
try_encode'   s    r   )r   r   Zsetuptools.externr   r   r   r   r   r   r   r   Ú<module>   s
   