Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/contextlib.cpython-35.opt-2.pyc



]0@sddlZddlmZddlmZdddddd	d
gZGdddeZGdd
d
eZddZ	GdddeZ
GdddZGdddeZGdd	d	eZ
Gdd
d
ZGdddeZdS)N)deque)wrapscontextmanagerclosingContextDecorator	ExitStackredirect_stdoutredirect_stderrsuppressc@s(eZdZddZddZdS)rcCs|S)N)selfrr//opt/alt/python35/lib64/python3.5/contextlib.py_recreate_cms
zContextDecorator._recreate_cmcs%tfdd}|S)Nc
s%j||SWdQRXdS)N)r)argskwds)funcrrr
inners
z(ContextDecorator.__call__.<locals>.inner)r)rrrr)rrr
__call__s!zContextDecorator.__call__N)__name__
__module____qualname__rrrrrr
rsc@s@eZdZddZddZddZddZd	S)
_GeneratorContextManagercCsi||||_||||_|_|_t|dd}|dkr\t|j}||_dS)N__doc__)genrrrgetattrtyper)rrrrdocrrr
__init__%sz!_GeneratorContextManager.__init__cCs|j|j|j|jS)N)	__class__rrr)rrrr
r3sz%_GeneratorContextManager._recreate_cmcCs9yt|jSWn!tk
r4tddYnXdS)Nzgenerator didn't yield)nextr
StopIterationRuntimeError)rrrr
	__enter__9s
z"_GeneratorContextManager.__enter__cCs0|dkrEyt|jWntk
r5dSYq,Xtdn|dkrZ|}y|jj|||Wntk
r}z||k	SWYdd}~Xn{tk
r}z7||krdS|tkr|j|krdSWYdd}~Xn%tjd|krdSYnXtddS)NFzgenerator didn't stopz#generator didn't stop after throw())rrr r!throw	__cause__sysexc_info)rrvalue	tracebackexcrrr
__exit__?s.
		z!_GeneratorContextManager.__exit__N)rrrrrr"r+rrrr
r"srcs"tfdd}|S)Ncst||S)N)r)rr)rrr
helperszcontextmanager.<locals>.helper)r)rr,r)rr
rksc@s4eZdZddZddZddZdS)rcCs
||_dS)N)thing)rr-rrr
rszclosing.__init__cCs|jS)N)r-)rrrr
r"szclosing.__enter__cGs|jjdS)N)r-close)rr'rrr
r+szclosing.__exit__N)rrrrr"r+rrrr
rsc@s:eZdZdZddZddZddZdS)_RedirectStreamNcCs||_g|_dS)N)_new_target_old_targets)r
new_targetrrr
rs	z_RedirectStream.__init__cCs9|jjtt|jtt|j|j|jS)N)r1appendrr&_streamsetattrr0)rrrr
r"sz_RedirectStream.__enter__cCs tt|j|jjdS)N)r5r&r4r1pop)rexctypeexcinstexctbrrr
r+sz_RedirectStream.__exit__)rrrr4rr"r+rrrr
r/sr/c@seZdZdZdS)rstdoutN)rrrr4rrrr
rs
c@seZdZdZdS)r	stderrN)rrrr4rrrr
r	sc@s4eZdZddZddZddZdS)r
cGs
||_dS)N)_exceptions)r
exceptionsrrr
rszsuppress.__init__cCsdS)Nr)rrrr
r"szsuppress.__enter__cCs|dk	ot||jS)N)
issubclassr<)rr7r8r9rrr
r+s
zsuppress.__exit__N)rrrrr"r+rrrr
r
sc@s|eZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdS)rcCst|_dS)N)r_exit_callbacks)rrrr
rszExitStack.__init__cCs+t|}|j|_t|_|S)N)rr?r)r	new_stackrrr
pop_allszExitStack.pop_allcs/fdd}|_|j|dS)Ncs
|S)Nr)exc_details)cmcm_exitrr

_exit_wrappersz.ExitStack._push_cm_exit.<locals>._exit_wrapper)__self__push)rrCrDrEr)rCrDr

_push_cm_exits	zExitStack._push_cm_exitcCsRt|}y
|j}Wn"tk
r=|jj|YnX|j|||S)N)rr+AttributeErrorr?r3rH)rexit_cb_typeexit_methodrrr
rG
s


zExitStack.pushcs2fdd}|_|j|S)NcsdS)Nr)exc_typer*tb)rcallbackrrr
rE#sz)ExitStack.callback.<locals>._exit_wrapper)__wrapped__rG)rrOrrrEr)rrOrr
rOs	
zExitStack.callbackcCs8t|}|j}|j|}|j|||S)N)rr+r"rH)rrC_cm_type_exitresultrrr

enter_context+s
	zExitStack.enter_contextcCs|jddddS)N)r+)rrrr
r.8szExitStack.closecCs|S)Nr)rrrr
r"<szExitStack.__enter__c	s|ddk	}tjdfdd}d}d}xv|jr|jj}y"||rzd}d}d}WqAtj}||d|dd}|}YqAXqAW|ry|dj}|dWn"tk
r||d_YnX|o|S)Nrr#csLx<|j}||krdS|dks4|kr5P|}qW||_dS)N)__context__)new_excold_excexc_context)	frame_excrr
_fix_exception_contextEs	
z2ExitStack.__exit__.<locals>._fix_exception_contextFT)NNN)r&r'r?r6rU
BaseException)	rrBreceived_excrZsuppressed_exc
pending_raisecbnew_exc_details	fixed_ctxr)rYr
r+?s2



zExitStack.__exit__N)rrrrrArHrGrOrTr.r"r+rrrr
rs

)r&collectionsr	functoolsr__all__objectrrrrr/rr	r
rrrrr
<module>sI"
Back to Directory File Manager