Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/psutil/__pycache__/_compat.cpython-35.pyc



Cs[ @sdZddlZddlZddlZddlZddddddd	d
dg	ZejddkZereZ	e
ZeZ
eZd
dZdd	Zn0e	Z	eZe
Z
eZddZdd	ZyddlmZWnek
ryddlmZWn"ek
r/ddlmZYnXejdddddgZGdddeZefeeeeedfeeee ddZ!dddd
ZYnXyddl"m#Z#Wn.ek
rej$ej%Bdd dZ#YnXdS)!z?Module which provides compatibility with older Python versions.NPY3longxrangeunicode
basestringub	lru_cachewhichcCs|S)N)srr/_compat.pyrscCs
|jdS)Nzlatin-1)encode)r
rrrrscCs
t|dS)NZunicode_escape)r)r
rrrr"scCs|S)Nr)r
rrrr%s)r	)RLock	CacheInfohitsmissesmaxsizecurrsizec@s1eZdZdZeddZddZdS)
_HashedSeq	hashvaluecCs#||dd<|||_dS)N)r)selftuphashrrr__init__=sz_HashedSeq.__init__cCs|jS)N)r)rrrr__hash__Asz_HashedSeq.__hash__N)__name__
__module____qualname__	__slots__rrrrrrrr:src	s|}	|rC||j}
|	|7}	x|
D]}|	|7}	q/W|r|	|fdd|D7}	|r|	|fdd|
D7}	n0||	dkr|	d|kr|	dSt|	S)Nc3s|]}|VqdS)Nr).0v)typerr	<genexpr>Osz_make_key.<locals>.<genexpr>c3s!|]\}}|VqdS)Nr)r!kr")r#rrr$Qsr)itemsr)argskwdstypedkwd_mark	fasttypessortedtupler#lenkeysorted_itemsitemr)r#r	_make_keyDs

#&(r3dFcsfdd}|S)z~Least-recently-used cache decorator, see:
        http://docs.python.org/3/library/functools.html#functools.lru_cache
        cstddg
d
\t
jtt	gddgdd<gd\dkr
fdd}nxdkr

f	dd}n?	

fdd}	
fd	d
}	
fdd}|_||_||_tj	|S)Nrr&rcs!||}d7<|S)Nr&r)r(r)result)MISSESstats
user_functionrrwrappergsz7lru_cache.<locals>.decorating_function.<locals>.wrappercsj||}|}|k	r?d7<|S||}||<d7<|S)Nr&r)r(r)r0r6)	HITSr7cache	cache_getmake_keyrootr8r*r9rrr:ls
cs|sr!
||}n|}	jz|}|dk	r\}|\}}}}||<||<|}||<|<||<||<
d7<|SWd	jX||}	jz\}|krnkrn|}	||	<||	<|	}d<|}
d|<|<|
=|	|<n6|}||||g}||<|<|<
d7<Wd	jX|S)Nr&r)acquirerelease)r(r)r0linkr?Z	link_prevZ	link_nextr6ZlastZoldrootZoldkey)r;KEYr7NEXTPREVRESULT_lenr<r=lockr>r
nonlocal_rootr8r*r9rrr:wsN
	





	




csAjz%ttSWdjXdS)zReport cache statisticsN)r@
_CacheInfor/rAr)r;r7r<rHrr8rr
cache_infos

z:lru_cache.<locals>.decorating_function.<locals>.cache_infoc
sfjzJjd}||ddg|dd<ddgdd<WdjXdS)z$Clear the cache and cache statisticsrN)r@clearrA)r?)r<rHrIr8rrcache_clears


z;lru_cache.<locals>.decorating_function.<locals>.cache_clear)rr&)rr&r5r)
dictr3getr/r__wrapped__rKrM	functoolsupdate_wrapper)r9r:rKrM)rr*)r;rCr7rDrErFrGr<r=rHr>rIr?r8r9rdecorating_functionZs,				-?-!				z&lru_cache.<locals>.decorating_functionr)rr*rSr)rr*rr	Vsc)r
csdd}tjjr5||r1SdS|dkrYtjjdtj}|scdS|jtj}tj	dkrtj
|kr|jdtj
tjjddjtj}tfd	d
|Drg}qfdd|D}n	g}t
}xr|D]j}tjj|}||kr'|j|x6|D].}	tjj||	}
||
|r_|
Sq_Wq'WdS)
aJGiven a command, mode, and a PATH string, return the path which
        conforms to the given mode on the PATH, or None if there is no such
        file.

        `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
        of os.environ.get("PATH"), or can be overridden with a custom search
        path.
        cSs5tjj|o4tj||o4tjj|S)N)ospathexistsaccessisdir)fnmoderrr
_access_checks$zwhich.<locals>._access_checkNPATHwin32rPATHEXTc3s*|] }jj|jVqdS)N)lowerendswith)r!ext)cmdrrr$szwhich.<locals>.<genexpr>csg|]}|qSrr)r!rb)rcrr
<listcomp>s	zwhich.<locals>.<listcomp>)rTrUdirnameenvironrOdefpathsplitpathsepsysplatformcurdirinsertanysetnormcaseaddjoin)rcrZrUr[pathextfilesseendirnormdirthefilenamer)rcrr
s8	!		


)&__doc__collectionsrQrTrj__all__version_inforintrrangerstrrrrrr	ImportError	threadingrdummy_threading
namedtuplerJlistrobjectro	frozensetr#r-r.r/r3shutilr
F_OKX_OKrrrr<module>sL


	k

Back to Directory File Manager