ó
.żWc           @   sG   d  d l  Z  d  d l Z d  d l m Z d   Z d   Z d   Z d S(   i˙˙˙˙N(   t   sixc         C   sn   t  |  t j  r" t j d |   Sy4 |  j d  }  t j d |   }  |  j d  }  Wn t k
 ri n X|  S(   Nt   NFDs   utf-8(   t
   isinstanceR    t	   text_typet   unicodedatat	   normalizet   decodet   encodet   UnicodeError(   t   path(    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/unicode_utils.pyt	   decompose   s    c         C   sq   t  |  t j  r |  St j   p% d } | d f } x6 | D]. } y |  j |  SWq; t k
 rh q; q; Xq; Wd S(   sY   
    Ensure that the given path is decoded,
    NONE when no expected encoding works
    s   utf-8N(   R   R    R   t   syst   getfilesystemencodingR   t   UnicodeDecodeError(   R	   t   fs_enct
   candidatest   enc(    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/unicode_utils.pyt   filesys_decode   s    c         C   s*   y |  j  |  SWn t k
 r% d SXd S(   s/   turn unicode encoding into a functional routineN(   R   t   UnicodeEncodeErrort   None(   t   stringR   (    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/unicode_utils.pyt
   try_encode'   s    (   R   R   t   setuptools.externR    R
   R   R   (    (    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/unicode_utils.pyt   <module>   s
   		