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



]h@sHdddddddddd	d
ddg
Zd
dlZd
dlZd
dlZd
dlZd
dl	Z
d
dlZd
dl
mZd
dlZyd
dlZWnek
rd
dlZYnXejZejejBejBZeedreejOZeZeedr eejOZeedr;ejZndZdZ eZ!eedrkej"Z#n'eedrej$Z#nddZ#ddZ%ddZ&ddZ'GdddZ(d d!Z)d"d#Z*da+d$d%Z,d&d'Z-d(dZ.d)dZ/da0d*d
Z1d+dZ2dddd,d-dZ3dddd.dZ4d/e dd0dZ5Gd1d2d2Z6Gd3d4d4Z7d5d?dddddd7d8dZ8ej9d9ksej:j;d:kre8Z<n0eed;a=d5d@dddddd<dZ<Gd=ddZ>Gd>dde?Z@dS)ANamedTemporaryFile
TemporaryFileSpooledTemporaryFileTemporaryDirectorymkstempmkdtempmktempTMP_MAX
gettempprefixtempdir
gettempdirgettempprefixbgettempdirbN)Random
O_NOFOLLOWO_BINARYi'tmplstatstatcCs&tj|tj}tj|dS)N)_osopenO_RDONLYclose)fnfdr-/opt/alt/python35/lib64/python3.5/tempfile.py_statTsrcCs/yt|Wntk
r&dSYnXdSdS)NFT)rOSError)rrrr_existsXs

	rcGsd}xk|D]c}|dkr"q
t|trR|tkrItdt}q
|tkrjtdt}q
W|dkrtS|S)Nz1Can't mix bytes and non-bytes in path components.)
isinstancebytesstr	TypeError)argsreturn_typeargrrr_infer_return_typeas
	
r'cCst|||}|dkr'|}|dkrW|tkrHt}ntjt}|dkr|tkr{t}n	t}||||fS)N)r'r"templaterfsencoderr
)prefixsuffixdiroutput_typerrr_sanitize_paramsvs			r.c@s@eZdZdZeddZddZddZdS)	_RandomNameSequence%abcdefghijklmnopqrstuvwxyz0123456789_cCs@tj}|t|ddkr9t|_||_|jS)N_rng_pid)rgetpidgetattr_Random_rngr1)selfcur_pidrrrrngs
	z_RandomNameSequence.rngcCs|S)Nr)r6rrr__iter__sz_RandomNameSequence.__iter__csD|j|jjfddtdD}dj|S)Ncsg|]}qSrr).0dummy)cchooserr
<listcomp>s	z0_RandomNameSequence.__next__.<locals>.<listcomp>)
charactersr8choicerangejoin)r6lettersr)r<r=r__next__s	"z_RandomNameSequence.__next__N)__name__
__module____qualname__rApropertyr8r9rFrrrrr/sr/cCsg}x0dD](}tj|}|r
|j|q
Wtjdkrd|jddddgn|jd	d
dgy|jtjWn(ttfk
r|jtjYnX|S)
NTMPDIRTEMPTMPntzc:\tempzc:\tmpz\tempz\tmpz/tmpz/var/tmpz/usr/tmp)rKrLrM)	rgetenvappendnameextendgetcwdAttributeErrorrcurdir)dirlistenvnamedirnamerrr_candidate_tempdir_lists
rYcCs~t}t}xO|D]G}|tjkr@tjj|}xtdD]}t|}tjj||}yvtj	|t
d}zHz3tj	|ddd}|jdWdQRXWdtj
|XWdtj|X|SWqMtk
rYqMtk
rItjdkrDtjj|rDtj|tjrDwMPYqMtk
r[PYqMXqMWqWttjd|dS)	NdiwbclosefdFsblatrNz)No usable temporary directory found in %s)r/rYrrUpathabspathrCnextrDr_bin_openflags_iowriterunlinkFileExistsErrorPermissionErrorrQisdiraccessW_OKrFileNotFoundError_errnoENOENT)namerrVr,seqrQfilenamerfprrr_get_default_tempdirs:			


!
	rpc
CsAtdkr=tjztdkr.taWdtjXtS)N)_name_sequence
_once_lockacquirer/releaserrrr_get_candidate_namess

ruc
Cst}|tkr'ttj|}xttD]}t|}tjj	||||}ytj
||d}	Wnetk
rw4YnQtk
rtj
dkrtjj|rtj|tjrw4nYnX|	tjj|fSWttjddS)NirNz#No usable temporary file name found)rur!maprr)rCrr_r]rDrrdrerQrfrgrhr^rjEEXIST)
r,presufflagsr-namesrmrQfilerrrr_mkstemp_inners$	

!	r}cCstS)N)r(rrrrr	scCstjtS)N)rr)r	rrrrrsc
CsAtdkr=tjztdkr.taWdtjXtS)N)r
rrrsrprtrrrrr!s

cCstjtS)N)rr)rrrrrr
-sFcCsIt|||\}}}}|r-t}nt}t|||||S)N)r._text_openflagsr`r})r+r*r,textr-rzrrrr1s
	cCst|||\}}}}t}|tkrEttj|}xttD]}t|}tj	j
||||}ytj|dWnetk
rwRYnQt
k
rtjdkrtj	j|rtj|tjrwRnYnX|SWttjddS)NirNz(No usable temporary directory name found)r.rur!rvrr)rCrr_r]rDmkdirrdrerQrfrgrhrjrw)r+r*r,r-r{rmrQr|rrrrYs&
	

!	r@cCs|dkrt}t}xMttD]?}t|}tjj||||}t|s+|Sq+Wt	t
jddS)Nz"No usable temporary filename found)rrurCrr_rr]rDrrdrjrw)r+r*r,r{rmrQr|rrrrs			c@sgeZdZdZdZdddZejdkrWejddZ	d	d
Z
nddZ	dS)_TemporaryFileCloserNFTcCs||_||_||_dS)N)r|rQdelete)r6r|rQrrrr__init__s		z_TemporaryFileCloser.__init__rNcCsQ|jrM|jdk	rMd|_z|jjWd|jrL||jXdS)NT)close_calledr|rrrQ)r6rcrrrrs		z_TemporaryFileCloser.closecCs|jdS)N)r)r6rrr__del__sz_TemporaryFileCloser.__del__cCs#|jsd|_|jjdS)NT)rr|r)r6rrrrs		)rGrHrIr|rrrrQrcrrrrrrrs
rc@s[eZdZdddZddZddZdd	Zd
dZdd
ZdS)_TemporaryFileWrapperTcCs4||_||_||_t||||_dS)N)r|rQrr_closer)r6r|rQrrrrrs			z_TemporaryFileWrapper.__init__cs|jd}t||}t|drd|tjfdd}|j|_|}t|tst||||S)Nr|__call__cs
||S)Nr)r$kwargs)funcrrfunc_wrappersz7_TemporaryFileWrapper.__getattr__.<locals>.func_wrapper)	__dict__r3hasattr
_functoolswrapsrr intsetattr)r6rQr|arr)rr__getattr__s
!z!_TemporaryFileWrapper.__getattr__cCs|jj|S)N)r|	__enter__)r6rrrrs
z_TemporaryFileWrapper.__enter__cCs&|jj|||}|j|S)N)r|__exit__r)r6excvaluetbresultrrrrs
z_TemporaryFileWrapper.__exit__cCs|jjdS)N)rr)r6rrrrsz_TemporaryFileWrapper.closeccsx|jD]}|Vq
WdS)N)r|)r6linerrrr9sz_TemporaryFileWrapper.__iter__N)	rGrHrIrrrrrr9rrrrrsrzw+bTc
Cst|||\}}}}t}	tjdkrF|rF|	tjO}	t||||	|\}
}y8tj|
|d|d|d|}t|||SWn/t	k
rtj
|tj|
YnXdS)NrN	bufferingnewlineencoding)r.r`rrQO_TEMPORARYr}rarr
BaseExceptionrcr)
moderrrr+r*r,rr-rzrrQr|rrrr
s



posixcygwin	O_TMPFILEcCs5t|||\}}}}t}try.|tjBtj@}	tj||	d}
Wn)tk
rrdaYnStk
rYnBXy&t	j|
|d|d|d|SWntj
|
YnXt|||||\}
}y3tj|t	j|
|d|d|d|SWntj
|
YnXdS)NiFrrr)
r.r`_O_TMPFILE_WORKSrrO_CREATrIsADirectoryErrorrrarr}rc)rrrrr+r*r,r-rzflags2rrQrrrr;s0





c
@sueZdZdZddd6dddddddZdd	Zd
dZdd
ZddZddZ	ddZ
eddZeddZ
ddZddZddZeddZed d!Zed"d#Zd$d%Zd&d'Zd(d)Zd*d+Zed,d-Zd.d/Zdd0d1Zd2d3Zd4d5ZdS)7rFrzw+brNc		Cs|d|krtj|_ntjdd|_||_d|_d|d|d|d|d	|d|d
|i|_dS)Nbr
Frrr+r*rr,)raBytesIO_fileStringIO	_max_size_rolled_TemporaryFileArgs)	r6max_sizerrrrr+r*r,rrrr|s		zSpooledTemporaryFile.__init__cCs<|jr
dS|j}|r8|j|kr8|jdS)N)rrtellrollover)r6r|rrrr_checks
		zSpooledTemporaryFile._checkcCsh|jr
dS|j}t|j}|_|`|j|j|j|jdd|_dS)NrT)rrrrrbgetvalueseekr)r6r|newfilerrrrs		zSpooledTemporaryFile.rollovercCs|jjrtd|S)Nz%Cannot enter context with closed file)rclosed
ValueError)r6rrrrszSpooledTemporaryFile.__enter__cCs|jjdS)N)rr)r6rrrrrrrszSpooledTemporaryFile.__exit__cCs
|jjS)N)rr9)r6rrrr9szSpooledTemporaryFile.__iter__cCs|jjdS)N)rr)r6rrrrszSpooledTemporaryFile.closecCs
|jjS)N)rr)r6rrrrszSpooledTemporaryFile.closedcCsHy|jjSWn3tk
rCd|jdkr4|jdSYnXdS)Nrrr)rrrTr)r6rrrrs
zSpooledTemporaryFile.encodingcCs|j|jjS)N)rrfileno)r6rrrrs
zSpooledTemporaryFile.filenocCs|jjdS)N)rflush)r6rrrrszSpooledTemporaryFile.flushcCs
|jjS)N)risatty)r6rrrrszSpooledTemporaryFile.isattycCs2y|jjSWntk
r-|jdSYnXdS)Nr)rrrTr)r6rrrrs
zSpooledTemporaryFile.modecCs+y|jjSWntk
r&dSYnXdS)N)rrQrT)r6rrrrQs
zSpooledTemporaryFile.namecCsHy|jjSWn3tk
rCd|jdkr4|jdSYnXdS)Nrrr)rnewlinesrTr)r6rrrrs
zSpooledTemporaryFile.newlinescGs|jj|S)N)rread)r6r$rrrrszSpooledTemporaryFile.readcGs|jj|S)N)rreadline)r6r$rrrrszSpooledTemporaryFile.readlinecGs|jj|S)N)r	readlines)r6r$rrrrszSpooledTemporaryFile.readlinescGs|jj|dS)N)rr)r6r$rrrrszSpooledTemporaryFile.seekcCs
|jjS)N)r	softspace)r6rrrrszSpooledTemporaryFile.softspacecCs
|jjS)N)rr)r6rrrrszSpooledTemporaryFile.tellcCsI|dkr|jjn)||jkr5|j|jj|dS)N)rtruncaterr)r6sizerrrrs

zSpooledTemporaryFile.truncatecCs)|j}|j|}|j||S)N)rrbr)r6sr|rvrrrrbs	
zSpooledTemporaryFile.writecCs)|j}|j|}|j||S)N)r
writelinesr)r6iterabler|rrrrrs	
zSpooledTemporaryFile.writelines)rGrHrIrrrrrrr9rrJrrrrrrrQrrrrrrrrrbrrrrrrus6			c@sgeZdZdddddZeddZddZdd	Zd
dZdd
Z	dS)rNcCsFt||||_tj||j|jddj||_dS)Nwarn_messagezImplicitly cleaning up {!r})rrQ_weakreffinalize_cleanupformat
_finalizer)r6r+r*r,rrrrszTemporaryDirectory.__init__cCs!tj|tj|tdS)N)_shutilrmtree	_warningswarnResourceWarning)clsrQrrrrrs
zTemporaryDirectory._cleanupcCsdj|jj|jS)Nz	<{} {!r}>)r	__class__rGrQ)r6rrr__repr__!szTemporaryDirectory.__repr__cCs|jS)N)rQ)r6rrrr$szTemporaryDirectory.__enter__cCs|jdS)N)cleanup)r6rrrrrrr'szTemporaryDirectory.__exit__cCs#|jjrtj|jdS)N)rdetachrrrQ)r6rrrr*szTemporaryDirectory.cleanup)
rGrHrIrclassmethodrrrrrrrrrr	srr)A__all__	functoolsrwarningsrioraosrshutilrerrnorjrandomrr4weakrefr_threadImportError
_dummy_thread
allocate_lock_allocate_lockO_RDWRrO_EXCLr~rrr`rrr(rrrrrrr'r.r/rYrprqrur}r	rr
rr
rrrrrrrQsysplatformrrrobjectrrrrr<module>s
	

		-(' +?		$!			8
Back to Directory File Manager