ó
ç¾\c           @   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(    (    s7   lib/python2.7/site-packages/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(    (    s7   lib/python2.7/site-packages/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   (    (    s7   lib/python2.7/site-packages/setuptools/unicode_utils.pyt
   try_encode'   s    (   R   R   t   setuptools.externR    R
   R   R   (    (    (    s7   lib/python2.7/site-packages/setuptools/unicode_utils.pyt   <module>   s
   		