File: //usr/lib/python3.5/__pycache__/contextlib.cpython-35.pyc
Fan0 @ s d Z d d l Z d d l m Z d d l m Z d 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 e Z
Gd d
d
e Z Gd d d Z Gd d d e Z d S)z4Utilities for with-statement contexts. See PEP 343. N)deque)wrapscontextmanagerclosingContextDecorator ExitStackredirect_stdoutredirect_stderrsuppressc @ 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 /usr/lib/python3.5/contextlib.py_recreate_cm s
zContextDecorator._recreate_cmc s% t f d d } | S)Nc
s% j | | SWd QRXd S)N)r )argskwds)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 si | | | | _ | | | | _ | _ | _ t | d d } | d k r\ t | j } | | _ d S)Nr )genr r r getattrtyper )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
StopIterationRuntimeError)r r r r
__enter__9 s
z"_GeneratorContextManager.__enter__c C s | d k rE y t | j Wn t k
r5 d SYqXt d n | d k rZ | } y&