3
^                 @   s8   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   sV   t | tjrtjd| S y$| jd} tjd| } | jd} W n tk
rP   Y nX | S )NZNFDzutf-8)
isinstancer   	text_typeunicodedata	normalizedecodeencodeUnicodeError)path r   >/tmp/pip-build-ao6tmhm0/setuptools/setuptools/unicode_utils.py	decompose   s    
r   c             C   sX   t | tjr| S tj pd}|df}x.|D ]&}y
| j|S  tk
rN   w*Y q*X q*W d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 |S  tk
r   dS X d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
   