ó
ò¼òec           @   s§   d  Z  d d l Z d „  Z d „  Z d „  Z e j d k rB d n d Z d	 „  Z d
 „  Z e	 d „ Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e ƒ  d S(   s   
A simple shim module to fix up things on Python 2 only.

Note: until we setup correctly the paths we can only import built-ins.
iÿÿÿÿNc          C   s‹   t  }  t ƒ  } | d t _ t _ | d t _ | d t _ | j d t ƒ d k } t	 ƒ  t
 ƒ  t |  ƒ | r} t ƒ  n  t |  ƒ d S(   s2   Patch what needed, and invoke the original site.pys   base-prefixs   base-exec-prefixs   base-executables   include-system-site-packagest   trueN(   t   __file__t   read_pyvenvt   syst   real_prefixt   base_prefixt   base_exec_prefixt   base_executablet   gett   Falset!   rewrite_standard_library_sys_patht   disable_user_site_packaget   load_host_sitet   add_global_site_packaget   rewrite_getsitepackages(   t   heret   configt   global_site_package_enabled(    (    s#   /navires/venv/lib/python2.7/site.pyt   main
   s    	

c         C   sF   t  t j d ƒ t j d j } x t |  ƒ D] } | | ƒ q. Wd S(   se   trigger reload of site.py - now it will use the standard library instance that will take care of initt   siteN(   t   reloadR   t   modulest
   addsitedirt   get_site_packages_dirs(   R   t   add_site_dirt   path(    (    s#   /navires/venv/lib/python2.7/site.pyR      s    c         c   se   d d  l  } d d  l } d } x@ | j | ƒ D]/ } | j j | j j |  | j d ƒ ƒ ƒ Vq. Wd  S(   Niÿÿÿÿs   
    ["../site-packages"]
    s   utf-8(   t   jsont   ost   loadsR   t   abspatht   joint   encode(   R   R   R   t   site_packagesR   (    (    s#   /navires/venv/lib/python2.7/site.pyR   3   s
    t   win32s   \t   /c          C   s   d j  t j t ƒ }  t |  ƒ  } | j ƒ  } Wd QXi  } xZ | D]R } y | j d ƒ } Wn t k
 rr qC qC X| | d j ƒ  | | |  j ƒ  <qC W| S(   s   read pyvenv.cfgs   {}{}pyvenv.cfgNt   =i   (	   t   formatR   t   prefixt   sept   opent	   readlinest   indext
   ValueErrort   strip(   t   config_filet   file_handlert   linesR   t   linet   split_at(    (    s#   /navires/venv/lib/python2.7/site.pyR   B   s    &c       	   C   sG  t  d t ƒ \ }  } } t  d t ƒ \ } } } |  |  j t ƒ  } xi t t j ƒ D]X \ } } t | ƒ } | | k }	 |	 }	 |	 sS t	 | | | | | | | ƒ t j | <qS qS Wt j
 j r¿ d Sd d l }
 g  } d |
 j k r0|
 j d r0x@ |
 j d j |
 j ƒ D]" } | | k r| j | ƒ qqWn  | t j t | ƒ *d S(   s[   Once this site file is loaded the standard library paths have already been set, fix them upt   baseNiÿÿÿÿt
   PYTHONPATH(   t   get_exe_prefixesR	   t   Truet   rfindR&   t	   enumerateR   R   t   abs_patht   map_patht   flagst   ignore_environmentR   t   environt   splitt   pathsept   appendt   len(   t   exeR%   t   exec_prefixt   base_exeR   t	   base_exect   exe_dirt   atR   t   skip_rewriteR   t   python_paths(    (    s#   /navires/venv/lib/python2.7/site.pyR
   R   s$    , c            s   t  ‡  f d †  d Dƒ ƒ S(   Nc         3   s4   |  ]* } t  t t ˆ  r d  n d | ƒ ƒ Vq d S(   t   base_t    N(   R7   t   getattrR   (   t   .0t   i(   R1   (    s#   /navires/venv/lib/python2.7/site.pys	   <genexpr>l   s    t
   executableR%   RA   (   RM   R%   RA   (   t   tuple(   R1   (    (   R1   s#   /navires/venv/lib/python2.7/site.pyR3   k   s    c         C   s‹   |  j  t ƒ g  } } t | ƒ d } xH | d k rp | | d k rR | d 8} n | j | | ƒ | d 8} q) Wt j | d  d  d … ƒ S(   Ni   i    s   ..iÿÿÿÿ(   R<   R&   R?   R>   R   (   t   valuet   valuest   keepRE   (    (    s#   /navires/venv/lib/python2.7/site.pyR7   o   s    c         C   s’   t  |  | ƒ r< | | j t ƒ  } d j | |  t | ƒ ƒ St  |  | ƒ re d j | |  t | ƒ ƒ St  |  | ƒ rŽ d j | |  t | ƒ ƒ S|  S(   Ns   {}{}(   t   path_starts_withR5   R&   R$   R?   (   R   R   RD   RA   R   R%   R   t   orig_exe_folder(    (    s#   /navires/venv/lib/python2.7/site.pyR8   {   s    c         C   s'   |  j  | d t k r | n | t ƒ S(   Niÿÿÿÿ(   t
   startswithR&   (   t	   directoryRO   (    (    s#   /navires/venv/lib/python2.7/site.pyRR   ‡   s    c          C   s>   t  j t  _ d t f d „  ƒ  Y}  |  ƒ  t  _ d t  j _ d S(   s+   Flip the switch on enable user site packaget   Flagsc           B   s   e  Z d  „  Z RS(   c         S   s    d „  t  t j ƒ Dƒ |  _ d  S(   Nc         S   s4   i  |  ]* } | j  d  ƒ s t t j | ƒ | “ q S(   t   _(   RT   RJ   R   R9   (   RK   t   key(    (    s#   /navires/venv/lib/python2.7/site.pys
   <dictcomp>’   s   	 (   t   dirR   R9   t   __dict__(   t   self(    (    s#   /navires/venv/lib/python2.7/site.pyt   __init__‘   s    (   t   __name__t
   __module__R\   (    (    (    s#   /navires/venv/lib/python2.7/site.pyRV      s   i   N(   R   R9   t   original_flagst   objectt   no_user_site(   RV   (    (    s#   /navires/venv/lib/python2.7/site.pyR   ‹   s    c          C   sk   d d l  }  t j t _ d |  _ d } z, |  j } t j t j g |  _ |  j	 ƒ  Wd | |  j |  _ Xd S(   s   add the global site packageiÿÿÿÿN(
   R   R   R_   R9   t   Nonet   ENABLE_USER_SITEt   PREFIXESR   R   R   (   R   t   orig_prefixes(    (    s#   /navires/venv/lib/python2.7/site.pyR   ˜   s    		c            sD   t  j d ‰ t |  ƒ ‰ ˆ j ‰  ‡  ‡ ‡ f d †  } | ˆ _ d  S(   NR   c             se   ˆ  ƒ  }  t  j ˆ j k s- t  j ˆ j k r1 |  Sx- ˆ D]% } | |  k r8 |  j d | ƒ q8 q8 W|  S(   Ni    (   R   R%   Rd   RA   t   insert(   t   sitepackagesR   (   t   orig_getsitepackagesR   t   site_package_dirs(    s#   /navires/venv/lib/python2.7/site.pyt   getsitepackages°   s    	$(   R   R   R   Rj   (   R   Rj   (    (   Rh   R   Ri   s#   /navires/venv/lib/python2.7/site.pyR   ª   s
    	(   t   __doc__R   R   R   R   t   platformR&   R   R
   R	   R3   R7   R8   RR   R   R   R   (    (    (    s#   /navires/venv/lib/python2.7/site.pyt   <module>   s   											