3
˜;p_­  ã               @   s,   d dl Z d dlZdd„ Zdd„ Zdd„ ZdS )é    Nc             C   sT   t | tƒrtjd| ƒS y$| jdƒ} tjd| ƒ} | jdƒ} W n tk
rN   Y nX | S )NZNFDzutf-8)Ú
isinstanceÚstrÚunicodedataÚ	normalizeÚdecodeÚencodeÚUnicodeError)Úpath© r
   ú@/tmp/pip-install-ofl94hr3/setuptools/setuptools/unicode_utils.pyÚ	decompose   s    

r   c             C   sV   t | tƒr| S tjƒ pd}|df}x.|D ]&}y
| j|ƒS  tk
rL   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   Ú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   r   r   r   r
   r
   r
   r   Ú<module>   s   