ó
ćNXc           @   s   d  Z  d d l m Z d d l m Z m Z d d l m Z d e f d     YZ	 e	   Z
 d e f d     YZ e   Z d	 e f d
     YZ d S(   su   
A context manager for managing things injected into :mod:`__builtin__`.

Authors:

* Brian Granger
* Fernando Perez
i˙˙˙˙(   t   Configurable(   t   builtin_modt	   iteritems(   t   Instancet   __BuiltinUndefinedc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyR      s    t   __HideBuiltinc           B   s   e  Z RS(    (   R   R   (    (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyR   !   s    t   BuiltinTrapc           B   s\   e  Z e d  d e Z d	 d  Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z RS(
   s1   IPython.core.interactiveshell.InteractiveShellABCt
   allow_nonec         C   sÖ   t  t |   j d | d d   i  |  _ d |  _ | |  _ i t d 6t d 6|  j j d 6|  _	 y` d d l
 m } |  j j r­ d d	 l m } | d
 t  | j |  j	 d <n | j |  j	 d <Wn t k
 rŃ n Xd  S(   Nt   shellt   configi    t   exitt   quitt   get_ipythoni˙˙˙˙(   t
   deepreload(   t   warns   Automatically replacing builtin `reload` by `deepreload.reload` is deprecated, please import `reload` explicitly from `IPython.lib.deeprelaodt   reloadt   dreload(   t   superR   t   __init__t   Nonet   _orig_builtinst   _nested_levelR
   t   HideBuiltinR   t   auto_builtinst   IPython.libR   t   deep_reloadt   warningsR   t   DeprecationWarningt   _dreloadt   ImportError(   t   selfR
   R   R   (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyR   *   s     			
c         C   s/   |  j  d k r |  j   n  |  j  d 7_  |  S(   Ni    i   (   R   t   activate(   R    (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyt	   __enter__C   s    c         C   s/   |  j  d k r |  j   n  |  j  d 8_  t S(   Ni   (   R   t
   deactivatet   False(   R    t   typet   valuet	   traceback(    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyt   __exit__J   s    c         C   sh   t  j } | j | t  } | t k rM | t k	 rd | |  j | <| | =qd n | |  j | <| | | <d S(   s$   Add a builtin and save the original.N(   R   t   __dict__t   gett   BuiltinUndefinedR   R   (   R    t   keyR&   t   bdictt   orig(    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyt   add_builtinQ   s    	c         C   s*   | t  k r t j | =n | t j | <d S(   s0   Remove an added builtin and re-set the original.N(   R+   R   R)   (   R    R,   R.   (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyt   remove_builtin]   s    c         C   s:   |  j  } x* t |  j  D] \ } } | | |  q Wd S(   s6   Store ipython references in the __builtin__ namespace.N(   R/   R   R   (   R    R/   t   namet   func(    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyR!   d   s    	c         C   sP   |  j  } x* t |  j  D] \ } } | | |  q W|  j j   t |  _ d S(   s~   Remove any builtins which might have been added by add_builtins, or
        restore overwritten ones to their previous values.N(   R0   R   R   t   clearR$   t   _builtins_added(   R    R0   R,   t   val(    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyR#   k   s
    	N(   R   R   R   t   TrueR
   R   R   R"   R(   R/   R0   R!   R#   (    (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyR   %   s   							N(   t   __doc__t   traitlets.config.configurableR    t   IPython.utils.py3compatR   R   t	   traitletsR   t   objectR   R+   R   R   R   (    (    (    sQ   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/IPython/core/builtin_trap.pyt   <module>   s   		