File: //opt/alt/python27/lib/python2.7/site-packages/contextlib2.pyo
�
�s�Wc           @   s�  d  Z  d d l Z d d l Z d d l m Z d d l m Z d d d d d	 d
 d g Z e d g 7Z d e f d
 �  �  YZ	 d e	 f d �  �  YZ
 d �  Z d e f d �  �  YZ d e f d �  �  YZ
 d	 e
 f d �  �  YZ d
 e
 f d �  �  YZ d e f d �  �  YZ e j d d k Z e r7d �  Z d �  Z n d �  Z d �  Z y d d l m Z Wn e k
 rve Z n
 Xd �  Z d e f d �  �  YZ d e f d  �  �  YZ d S(!   sA   contextlib2 - backports and enhancements to the contextlib modulei����N(   t   deque(   t   wrapst   contextmanagert   closingt   ContextDecoratort	   ExitStackt   redirect_stdoutt   redirect_stderrt   suppresst   ContextStackc           B   s)   e  Z d  Z d �  Z d �  Z d �  Z RS(   sJ   A base class or mixin that enables context managers to work as decorators.c         C   s   t  j d t � |  j �  S(   s�  Returns the context manager used to actually wrap the call to the
        decorated function.
        The default implementation just returns *self*.
        Overriding this method allows otherwise one-shot context managers
        like _GeneratorContextManager to support use as decorators via
        implicit recreation.
        DEPRECATED: refresh_cm was never added to the standard library's
                    ContextDecorator API
        s2   refresh_cm was never added to the standard library(   t   warningst   warnt   DeprecationWarningt   _recreate_cm(   t   self(    (    s<