σ
έ²k^c        
   @` sς  d  d l  m Z m Z m Z m Z d  d l m Z d  d l Z d  d l m	 Z	 d  d l
 Z
 d  d l m Z m Z m Z m Z d  d l Z d  d l Z d d l m Z m Z d d	 l m Z m Z d d
 l m Z m Z m Z m Z m Z d d l m  Z  m! Z! m" Z" m# Z# d d l$ m% Z% d d l& m' Z' d d l( m) Z) m* Z* d d l+ m, Z, d d l- m. Z. e	 e/  Z0 d   Z1 d d d d h Z2 e2 d d d d d d d d d h	 BZ3 d   Z4 d    Z5 d!   Z6 e7 d"  Z8 d#   Z9 d$   Z: d%   Z; d S(&   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literals(   t   OrderedDictN(   t	   getLogger(   t   existst
   expandusert   isfilet   joini   (   t   print_envs_listt   stdout_jsoni   (   t   CONDA_PACKAGE_ROOTt   __version__(   t   conda_in_private_envt   contextt   env_namet   sys_rc_patht   user_rc_path(   t	   iteritemst
   itervaluest   on_wint	   text_type(   t   mask_anaconda_token(   t   _supplement_index_with_system(   t   all_channel_urlst   offline_keep(   t	   MatchSpec(   t   human_bytesc          C` s  g  }  yι t  sy t t d   rξ t j d  } xC t j t d   D]) } | j |  rF |  j d |  qF qF Wqξ nu d t j	 k r |  St j	 t
 d  } t t | d   rξ g  t j t | d   D] } t | d |  ^ qΝ }  n  Wn) t t f k
 r} t j d |  n X|  S(	   Nu   ~/.local/libu   python\d\.\du   ~/.local/lib/u   ~/.local/lib/%su   APPDATAu   Pythonu   PYTHONu'   Error accessing user site directory.
%r(   R   R   R   t   ret   compilet   ost   listdirt   matcht   appendt   environt   strR	   t   IOErrort   OSErrort   logt   debug(   t	   site_dirst	   python_ret   patht   APPDATAt   it   e(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   get_user_site   s"    ;u   filesu   authu   preferred_envu   priorityu   nameu   versionu   buildu   build_numberu   channelu   schannelu   sizeu   fnu   dependsc         C` s   d   t  |  j    D S(   Nc         S` s+   i  |  ]! \ } } | t  k r | |  q S(    (   t   IGNORE_FIELDS(   t   .0t   kt   v(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys
   <dictcomp>7   s   	 (   R   t   dump(   t   pkg(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   dump_record6   s    c         C` sS  t  |   } t d |  j f d | d f d | d f d | d f d | d f d t |  j  f d	 t | d	  f g  } x2 t t | j    t	  D] } | | | | <q Wt
 d
  d | d | d | d f } t
 |  t
 d t |   x& | D] } t
 d | | | f  q Wt
 d  x  | d D] } t
 d |  q7Wd  S(   Nu	   file nameu   nameu   versionu   build stringu   buildu   build numberu   build_numberu   channelu   sizeu    u   %s %s %su   -u	   %-12s: %su   dependencies:u   dependsu       %s(   R6   R   t   fnR   t   channelR   t   sortedt   sett   keyst   SKIP_FIELDSt   printt   len(   t   precR5   t   dt   keyt   headert   dep(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   pretty_package:   s(    #


c         ` s»   d d l  m } i    x3 |  D]+ } t |  } t | j |     | <q Wt j rr t   f d   |  D  n2 x/ t    D]! } x | D] } t	 |  q Wq Wt
 d d t j d  S(   Ni   (   t
   SubdirDatac         ` s   i  |  ] }   | |  q S(    (    (   R1   t   package(   t   results(    s2   lib/python2.7/site-packages/conda/cli/main_info.pys
   <dictcomp>\   s   	 uc   WARNING: 'conda info package_name' is deprecated.
          Use 'conda search package_name --info'.t   file(   t   core.subdir_dataRE   R   t   tuplet	   query_allR   t   jsonR   R   RD   R=   t   syst   stderr(   t   packagesRE   RF   t   spect   resultR?   (    (   RG   s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   print_package_infoT   s    		c      7   C` s!  y d d l  m } Wna t k
 r[ y d d l m } Wqx t k
 rW } d | } qx Xn t k
 rw } d | } n Xy d d l m } Wn t k
 r₯ d } n Xy d d  l } Wn3 t k
 rΟ d } n& t k
 rλ } d | } n
 X| j } i  } t |  g  | j   D] } | j	 | j
 g ^ q} t t t j   }	 t j sg  |	 D]" }
 |
 t |
  rpd n d ^ qU}	 n  g  |	 D] }
 t |
  ^ q}	 t d   t j   D  } t j j d	  } | sχt d
  } t |  rχ| } qχn  t t j  } t d t j d t d | d | d t j d t j d t    d t j! d t j" d t j# d t j$ d t j d | d t j% d |	 d t& d t& d t' d t j( d g  d d  j) t* t+ t, j-   d! | d" t j. d# t/ d$ | d% | d& |  } t0 rd' d( l1 m2 } |   | d) <n  t j3   | d* <t j4   | d+ <d, d- d. h } | j5 d/   t j D  | j5 d0   t j D  | j5 d1   t j D  | j5 d2   t j D  d3   | D } d4   t j D } | j5 d5   | D  | j5 i t, j
 d6 6t, j6 d7 6t, j7 d8 6t8   d9 6| d: 6 | S(;   Ni    (   R   u   Error %ru   not installedu   Error %su    u     (offline)c         s` s!   |  ] } | d k r | Vq d S(   u   envvarsu   cmd_lineN(   u   envvarsu   cmd_line(    (   R1   R+   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr>   s    u   NETRCu   ~/.netrct   platformt   conda_versiont   conda_env_versiont   conda_build_versiont   root_prefixt   conda_prefixt   conda_privatet   root_writablet	   pkgs_dirst	   envs_dirst   default_prefixt   active_prefixt   active_prefix_namet   conda_shlvlt   channelsR   t   rc_pathR   t   offlinet   envst   python_versionu   .t   requests_versiont
   user_agentt   conda_locationt   config_filest
   netrc_filet   virtual_pkgsi   (   t   is_admin_on_windowsu   is_windows_adminu   UIDu   GIDu   CIO_TESTu   REQUESTS_CA_BUNDLEu   SSL_CERT_FILEc         s` s*   |  ]  } | j    j d   r | Vq d S(   u   CONDAN(   t   uppert
   startswith(   R1   R3   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr>Ζ   s    c         s` s*   |  ]  } | j    j d   r | Vq d S(   u   PYTHONN(   Rm   Rn   (   R1   R3   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr>Η   s    c         s` s*   |  ]  } | j    j d   r | Vq d S(   u   PATHN(   Rm   t   endswith(   R1   R3   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr>Θ   s    c         s` s*   |  ]  } | j    j d   r | Vq d S(   u   SUDON(   Rm   Rn   (   R1   R3   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr>Ι   s    c         S` s7   i  |  ]- } t  j | t  j | j   d    |  q S(   u	   <not set>(   R   t   getenvt   lower(   R1   t   ev(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys
   <dictcomp>Λ   s   	 c         s` s*   |  ]  } | j    j d   r | Vq d S(   u   PROXYN(   Rm   Ro   (   R1   R3   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr>Ν   s    c         S` s   i  |  ] } d  |  q S(   u   <set>(    (   R1   Rr   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pys
   <dictcomp>Ξ   s   	 u   sys.versionu
   sys.prefixu   sys.executableu	   site_dirsu   env_vars(9   t   requestsR   t   ImportErrort   pip._vendor.requestst	   Exceptiont	   conda_envt   conda_buildR   t   valuest   namet   versiont   listR   R   Ra   RL   R   R   RJ   t   collect_allR   R#   t   getR   R   R   R^   t   dictt   subdirRT   RW   RX   R   RZ   R[   R\   R]   t   shlvlR   R   Rc   R	   t   mapR$   RM   t   version_infoRg   R   R   t   common._os.windowsRl   t   geteuidt   getegidt   updatet   prefixt
   executableR/   (   t   systemRf   R.   RU   Rx   RV   t   virtual_pkg_indext   pRk   Ra   t   cRi   Rj   t
   user_netrcR_   t	   info_dictRl   t   env_var_keyst   env_varst
   proxy_keys(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   get_info_dictg   sͺ    
		
+	/															



c   	      C` sθ   d d l  m } g  } | j d d  |  j d i   } x t |  D] } | | |  } t |  rr | d n d } t |  d k r | d n d } | j d | | f  x# | D] } | j d	 d
 |  qΈ WqF Wd j |  S(   Ni    (   t   wrapu   %23s:u   environment variablesu   env_varsu    i   u   %25s=%su    i   u   
(    (   t   textwrapR   R"   R~   R9   R>   R	   (	   R   R   t   builderR   RA   t   valuet
   first_linet   other_linest   val(    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   get_env_vars_strΫ   s    "c         C` s  x1 d: D]) } d d d j  |  |  |  d | <q Wd d d j  g  |  d	 D] } d
 t |  ^ qM  |  d <|  d r d n d |  d <d   } d g } |  d rέ | j | d |  d   | j | d |  d   n | j | d |  d   |  d d k r$| j | d |  d   n  | j | d |  d  | d |  d  | d |  d  | d |  d   | d! |  d"  | d# |  d  | d$ d% |  d& |  d f  | d' |  d(  | d) |  d*  | d+ |  d,  | d- |  d-  | d. |  d/  f  t r"| j | d0 |  d1   n( | j | d2 d3 |  d4 |  d5 f   | j | d6 |  d7  | d8 |  d9  f  | j d  d j  |  S(;   Nu	   pkgs_dirsu	   envs_dirsu   channelsu   config_filesu   
i   u    u   _u   virtual_pkgsu   %s=%su   _virtual_pkgsu   root_writableu   writableu	   read onlyu   _rtwroc         S` s   d |  | f S(   Nu	   %23s : %s(    (   t   nmR   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   <lambda>ς   s    u    u   active_prefix_nameu   active environmentu   active env locationu   active_prefixu   conda_shlvli    u   shell levelu   user config fileu   user_rc_pathu   populated config filesu   _config_filesu   conda versionu   conda_versionu   conda-build versionu   conda_build_versionu   python versionu   python_versionu   virtual packagesu   base environmentu   %s  (%s)u   root_prefixu   channel URLsu	   _channelsu   package cacheu
   _pkgs_dirsu   envs directoriesu
   _envs_dirsu   platformu
   user-agentu
   user_agentu   administratoru   is_windows_adminu   UID:GIDu   %s:%su   UIDu   GIDu
   netrc fileu
   netrc_fileu   offline modeu   offline(   u	   pkgs_dirsu	   envs_dirsu   channelsu   config_files(   R	   RJ   R"   t   extendR   (   R   RA   t   xt   format_paramR   (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   get_main_info_strκ   sF    '.		
(c         ` s\    j  rC t j r) t i t j d 6 n t d j t j   d  S  j r© d d l m	 } y t
   j  d  SWq© | k
 r₯ } d d l m } | | j   q© Xn    j rυ t j sΤ t d j t j   n t t j i t j d 6  d Sd  }   j st j r1x! | D] } t   | t  qWn  t   j  }   j set   f d   | D  rt j rt d  } | j t |   | j d  n    j rάd d l m }	 |	   | d	 <t | d	 t j  n    j rBt j sBd d l m }
 m } t d t  j! d   t d t  j"  t d t  j#  t d | d  x? t$ t% |
   d!   D]$ } t d | | d |  f  qgWt d d d | d } | rΐt | d  n
 t d  x  | d D] } t d |  qΥWt d  x8 t$ t& | d   D]  \ } } t d | | f  qWt d  qBn  t j rXt |  n  d  S("   Nu   root_prefixu   {}i   (   t   ResolvePackageNotFound(   t   PackagesNotFoundErroru   
u   channelsi    u   envsu   systemc         3` s   |  ] } t    |  Vq d  S(   N(   t   getattr(   R1   t   opt(   t   args(    s2   lib/python2.7/site-packages/conda/cli/main_info.pys	   <genexpr><  s    u   conda.stdoutlog(   t   list_all_known_prefixesi   (   t   find_commandst   find_executableu   sys.version: %s...i(   u   sys.prefix: %su   sys.executable: %su   conda location: %su   conda_locationu   buildu   conda-%s: %su   conda-u   user site dirs: t   endu    u	   site_dirsu                   %su   env_varsu   %s: %s(   u   envsu   system(   u   build('   t   baseR   RL   R   RW   R=   t   formatRO   t   resolveR’   RR   t
   exceptionsR£   t   bad_depst   unsafe_channelsR	   Ra   t   dumpst   allt   setattrt   TrueR   R   R   t   infoR‘   Rd   t   core.envs_managerR§   R
   R¨   R©   RM   R{   R   R   R9   R:   R   (   R¦   t   parserR’   R.   R£   t   optionst   optionR   t   stdout_loggerR§   R¨   R©   t   cmdR)   t   site_dirRz   R   (    (   R¦   s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   execute  sj    					/			 "


#	(<   t
   __future__R    R   R   R   t   collectionsR   RL   t   loggingR   R   t   os.pathR   R   R   R	   R   RM   t   commonR
   R   t    R   R   RT   t   base.contextR   R   R   R   R   t   common.compatR   R   R   R   t
   common.urlR   t
   core.indexR   t   models.channelR   R   t   models.match_specR   t   utilsR   t   __name__R'   R/   R0   R<   R6   RD   RR   t   FalseR   R   R‘   R½   (    (    (    s2   lib/python2.7/site-packages/conda/cli/main_info.pyt   <module>   s8   ""("				t		3