View file File name : runpy.pyc Content :� �bc @ 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/lib/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/lib/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/lib/python2.7/runpy.pyt __exit__( s ( t __name__t __module__t __doc__R R R ( ( ( s /usr/lib/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/lib/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/lib/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/lib/python2.7/runpy.pyR : s ( R R R R R ( ( ( s /usr/lib/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/lib/python2.7/runpy.pyt _run_code>