name : _common.pyc
�
�?�Vc
@ s�dZddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlmZddlm
Z
ddlmZyddlZWnek
r�ddlZnXe	jd�kr�ddlZndZeed
d�Zeedd�ZdZd
ZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+d Z,d!Z-d"Z.d#Z/d$Z0edkr�d%Z1d&Z2d'Z3n,d(ej4fd)��YZ5e6�j7e5j8�dd*�Z9d+�Z:d,�Z;d-�Z<d.�Z=d/�Z>d0�Z?ieeegee
gfd16eegegfd26egegfd36eege
gfd46ege
gfd56eegee
gfd66egee
gfd76egee
gfd86Z@edk	rBe@j7iegegfd96ege
gfd:6�nedk	rte@j7iegee
gfd;6�n[[[[[
ed<d=d>d?d@dAdBg�ZAedCd=d>d?d@g�ZBedDdEdFdGdHdIdJg�ZCedKdLdMdNdOg�ZDedPdQdRdSdTdUdVdWdXg�ZEedYdZd[d\d]g�ZFed^d_d`dadbdcdddeg�ZGedfd`dgdhdidjg�ZHedkdldmdndog�ZIedpdqdrg�ZJedsdtdug�ZKedvdwd_g�ZLedxdydzd{g�ZMed|d}d~dg�ZNed�d}d~dg�ZOed�dEdFdGdHg�ZPed�d�d�g�ZQed�d�d�g�ZRed�d_d`dadbdcddg�ZSdS(�s*Common objects shared by all _ps* modules.i����(tdivisionN(t
namedtuple(tAF_INET(t
SOCK_DGRAM(tSOCK_STREAMiitAF_INET6tAF_UNIXtrunningtsleepings
disk-sleeptstoppedstracing-stoptzombietdeads	wake-killtwakingtidletlockedtwaitingt	suspendedtESTABLISHEDtSYN_SENTtSYN_RECVt	FIN_WAIT1t	FIN_WAIT2t	TIME_WAITtCLOSEt
CLOSE_WAITtLAST_ACKtLISTENtCLOSINGtNONEiiit	NicDuplexcB seZdZdZdZRS(iii(t__name__t
__module__tNIC_DUPLEX_FULLtNIC_DUPLEX_HALFtNIC_DUPLEX_UNKNOWN(((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pyREscC sMy||d}Wntk
r+d}nX|dk	rEt||�S|SdS(s5Calculate percentage usage of 'used' against 'total'.idiN(tZeroDivisionErrortNonetround(tusedttotalt_roundtret((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pyt
usage_percentOs


c sUtj�����fd��}��fd�}tj��i�||_|S(sA simple memoize decorator for functions supporting (hashable)
    positional arguments.
    It also provides a cache_clear() function for clearing the cache:

    >>> @memoize
    ... def foo()
    ...     return 1
    ...
    >>> foo()
    1
    >>> foo.cache_clear()
    >>>
    c	 sf|tt|j���f}��<y�|SWn(tk
r[�||�}�|<nXWdQX|S(N(t	frozensettsortedtitemstKeyError(targstkwargstkeyR)(tcachetfuntlock(sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pytwrapperis
!c s*�j�z�j�Wd�j�XdS(sClear cache.N(tacquiretcleartrelease((R2R4(sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pytcache_clearss
(t	functoolstwrapst	threadingtRLockR9(R3R5R9((R2R3R4sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pytmemoize[s$
	cC s_ytj|�}Wn5tk
rJ}|jtjtjfkrF�ntSXtj|j�SdS(s�Same as os.path.isfile() but does not swallow EACCES / EPERM
    exceptions, see:
    http://mail.python.org/pipermail/python-dev/2012-June/120787.html
    N(	toststattOSErrorterrnotEPERMtEACCEStFalsetS_ISREGtst_mode(tpathtstterr((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pyt
isfile_strict�scC sQytj|�Wn5tk
rH}|jtjtjfkrD�ntSXtSdS(s�Same as os.path.exists() but does not swallow EACCES / EPERM
    exceptions, see:
    http://mail.python.org/pipermail/python-dev/2012-June/120787.html
    N(R?R@RARBRCRDREtTrue(RHRJ((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pytpath_exists_strict�scC s}tjsttd�rtSyCtjtjtj�}tj|��|jd�WdQXt	SWntj
k
rxtSXdS(s2Return True if IPv6 is supported on this platform.Rs::1iN(s::1i(tsocketthas_ipv6thasattrRERRt
contextlibtclosingtbindRLterror(tsock((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pyt
supports_ipv6�scC s@tdkr|Sytj|�SWnttfk
r;|SXdS(s�Convert a numeric socket family value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    N(tenumR$RNt
AddressFamilyt
ValueErrortAttributeError(tnum((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pytsockfam_to_enum�scC s@tdkr|Sytj|�SWnttfk
r;|SXdS(sConvert a numeric socket type value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    N(RWR$RNtAddressTypeRYRZ(R[((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pytsocktype_to_enum�stallttcpttcp4tudptudp4tinettinet4tinet6ttcp6tudp6tunixtsswapR'R&tfreetpercenttsintsoutt
sdiskusagetsdiskiot
read_counttwrite_countt
read_bytestwrite_bytest	read_timet
write_timet	sdiskparttdevicet
mountpointtfstypetoptstsnetiot
bytes_sentt
bytes_recvtpackets_senttpackets_recvterrinterrouttdropintdropouttsusertnametterminalthosttstartedtsconntfdtfamilyttypetladdrtraddrtstatustpidtsnictaddresstnetmaskt	broadcasttptpt	snicstatstisuptduplextspeedtmtutpmemtrsstvmst	pcputimestusertsystemt	popenfileRHtpthreadtidt	user_timetsystem_timetpuidstrealt	effectivetsavedtpgidstpiotpionicetioclasstvaluetpctxswt	voluntarytinvoluntarytpconn(ii(Tt__doc__t
__future__RRQRBR:R?RNR@tsystcollectionsRRRRR<tImportErrortdummy_threadingtversion_infoRWR$tgetattrRRtSTATUS_RUNNINGtSTATUS_SLEEPINGtSTATUS_DISK_SLEEPtSTATUS_STOPPEDtSTATUS_TRACING_STOPt
STATUS_ZOMBIEtSTATUS_DEADtSTATUS_WAKE_KILLt
STATUS_WAKINGtSTATUS_IDLEt
STATUS_LOCKEDtSTATUS_WAITINGtSTATUS_SUSPENDEDtCONN_ESTABLISHEDt
CONN_SYN_SENTt
CONN_SYN_RECVtCONN_FIN_WAIT1tCONN_FIN_WAIT2tCONN_TIME_WAITt
CONN_CLOSEtCONN_CLOSE_WAITt
CONN_LAST_ACKtCONN_LISTENtCONN_CLOSINGt	CONN_NONER R!R"tIntEnumRtglobalstupdatet__members__R*R>RKRMRVR\R^t	conn_tmapRjRoRpRwR|R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((sPC:/Program Files (x86)/Alibaba/Aegis/PythonLoader/third_party\psutil3\_common.pyt<module>s�
		&			
				

© 2026 UnknownSec