View file File name : rexec.pyo Content :� zfc @ s# d Z d d l m Z e d d d �[ d d l Z d d l Z d d l Z d d l Z d d l Z d g Z d f d � � YZ d e f d � � YZ d Z d e f d � � YZ d e j f d � � YZ e j Z e j Z d e j f d � � YZ d � Z e d k re j e � � n d S( s9 Restricted execution facilities. The class RExec exports methods r_exec(), r_eval(), r_execfile(), and r_import(), which correspond roughly to the built-in operations exec, eval(), execfile() and import, but executing the code in an environment that only exposes those built-in operations that are deemed safe. To this end, a modest collection of 'fake' modules is created which mimics the standard modules by the same names. It is a policy decision which built-in modules and operations are made available; this module provides a reasonable default, but derived classes can change the policies e.g. by overriding or extending class variables like ok_builtin_modules or methods like make_sys(). XXX To do: - r_open should allow writing tmp dir - r_exec etc. with explicit globals/locals? (Use rexec("exec ... in ...")?) i����( t warnpy3ks/ the rexec module has been removed in Python 3.0t stackleveli Nt RExect FileBasec B s e Z d Z RS( t filenot flusht isattyt readt readlinet readlinest seekt tellt writet writelinest xreadlinest __iter__( R R R R R R R R R R R R ( t __name__t __module__t ok_file_methods( ( ( s /usr/lib64/python2.7/rexec.pyR s t FileWrapperc B s e Z d � Z d � Z RS( c C sS xL | j D]A } t | | � r t | | � r t | | t | | � � q q Wd S( N( R t hasattrt setattrt getattr( t selft ft m( ( s /usr/lib64/python2.7/rexec.pyt __init__+ s c C s | j � d S( N( R ( R ( ( s /usr/lib64/python2.7/rexec.pyt close0 s ( R R R R ( ( ( s /usr/lib64/python2.7/rexec.pyR '