AlkantarClanX12
Current Path : /opt/alt/python34/lib64/python3.4/__pycache__/ |
Current File : //opt/alt/python34/lib64/python3.4/__pycache__/contextlib.cpython-34.pyc |
� e fw- � @ s� d Z d d l Z d d l m Z d d l m Z d d d d d d g Z Gd d � d e � Z Gd d � d e � Z d d � Z Gd d � d e � Z Gd d � d � Z Gd d � d � Z Gd d � d e � Z d S)z4Utilities for with-statement contexts. See PEP 343.� N)�deque)�wraps�contextmanager�closing�ContextDecorator� ExitStack�redirect_stdout�suppressc @ s. e Z d Z d Z d d � Z d d � Z d S)r zJA base class or mixin that enables context managers to work as decorators.c C s | S)a6 Return a recreated instance of self. Allows an otherwise one-shot context manager like _GeneratorContextManager to support use as a decorator via implicit recreation. This is a private interface just for _GeneratorContextManager. See issue #11647 for details. � )�selfr r �//opt/alt/python34/lib64/python3.4/contextlib.py�_recreate_cm s zContextDecorator._recreate_cmc s% t � � � � f d d � � } | S)Nc s$ � j � � � | | � SWd QXd S)N)r )�args�kwds)�funcr r r �inner s z(ContextDecorator.__call__.<locals>.inner)r )r r r r )r r r �__call__ s !zContextDecorator.__call__N)�__name__� __module__�__qualname__�__doc__r r r r r r r s c @ sF e Z d Z d Z d d � Z d d � Z d d � Z d d � Z d S)�_GeneratorContextManagerz%Helper for @contextmanager decorator.c C sl | | | � | _ | | | | _ | _ | _ t | d d � } | d k r_ t | � j } n | | _ d S)Nr )�genr r r �getattr�typer )r r r r �docr r r �__init__% s z!_GeneratorContextManager.__init__c C s | j | j | j | j � S)N)� __class__r r r )r r r r r 3 s z%_GeneratorContextManager._recreate_cmc C s9 y t | j � SWn! t k r4 t d � d � Yn Xd S)Nzgenerator didn't yield)�nextr � StopIteration�RuntimeError)r r r r � __enter__9 s z"_GeneratorContextManager.__enter__c C s� | d k rE y t | j � Wn t k r5 d SYq� Xt d � � n� | d k r] | � } n y&