File: //proc/3/root/lib64/python2.7/runpy.pyo
�
zfc           @   s�  d  Z  d d l Z d d l Z d d l m Z y d d l m Z Wn! e k
 re d d l m Z n Xd d g Z d e f d �  �  YZ	 d	 e f d
 �  �  YZ
 d d d d d d � Z d d d d d d � Z
 d
 �  Z e d � Z e d � Z d e f d �  �  YZ e d � Z d d e d � Z d �  Z d �  Z d d d � Z e d k r�e e j � d k  rue j d IJq�e j d =e e j d � n  d S(   sZ  runpy.py - locating and running Python code using the module namespace
Provides support for locating and running Python scripts using the Python
module namespace instead of the native filesystem.
This allows Python code to play nicely with non-filesystem based PEP 302
importers when locating support scripts as well as when importing modules.
i����N(   t	   read_code(   t
   get_loadert
   run_modulet   run_patht   _TempModulec           B   s)   e  Z d  Z d �  Z d �  Z d �  Z RS(   sC   Temporarily replace a module in sys.modules with an empty namespacec         C   s(   | |  _  t j | � |  _ g  |  _ d  S(   N(   t   mod_namet   impt
   new_modulet   modulet
   _saved_module(   t   selfR   (    (    s   /usr/lib64/python2.7/runpy.pyt   __init__   s    	c         C   sL   |  j  } y |  j j t j | � Wn t k
 r7 n X|  j t j | <|  S(   N(   R   R	   t   appendt   syst   modulest   KeyErrorR   (   R
   R   (    (    s   /usr/lib64/python2.7/runpy.pyt	   __enter__   s    	
c         G   s=   |  j  r# |  j  d t j |  j <n
 t j |  j =g  |  _  d  S(   Ni    (   R	   R
   R   R   (   R
   t   args(    (    s   /usr/lib64/python2.7/runpy.pyt   __exit__(   s    	
(   t   __name__t
   __module__t   __doc__R   R   R   (    (    (    s   /usr/lib64/python2.7/runpy.pyR      s   			t   _ModifiedArgv0c           B   s#   e  Z d  �  Z d �  Z d �  Z RS(   c         C   s    | |  _  t �  |  _ |  _ d  S(   N(   t   valuet   objectt   _saved_valuet	   _sentinel(   R
   R   (    (    s   /usr/lib64/python2.7/runpy.pyR   0   s    	c         C   sE   |  j  |  j k	 r! t d � � n  t j d |  _  |  j t j d <d  S(   Ns   Already preserving saved valuei    (   R   R   t   RuntimeErrorR
   t   argvR   (   R
   (    (    s   /usr/lib64/python2.7/runpy.pyR   4   s    c         G   s    |  j  |  _ |  j t j d <d  S(   Ni    (   R   R   R   R
   R   (   R
   R   (    (    s   /usr/lib64/python2.7/runpy.pyR   :   s    (   R   R   R   R   R   (    (    (    s   /usr/lib64/python2.7/runpy.pyR   /   s   		c      	   B   sJ   | d k	 r | j | � n  | j d | d | d | d | � |  | U| S(   s)   Helper to run code in nominated namespaceR   t   __file__t
   __loader__t   __package__N(   t   Nonet   update(   t   codet   run_globalst   init_globalsR   t	   mod_fnamet
   mod_loadert   pkg_name(    (    s   /usr/lib64/python2.7/runpy.pyt	   _run_code>