Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/psutil/__pycache__/_common.cpython-38.opt-1.pyc

U

Œ=Ý_jfãN@s8dZddlmZmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddl
mZddlmZddlmZddlmZzdd	lmZWnek
rÀdZYnXzdd
lmZWnek
rêdZYnXe
jdkrddlZndZe
jddkZd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZgNZejd[kZejd\kZe
j d]¡Ze
j d^¡Z e Z!e
j d_¡Z"e
j d`¡Z#e
j da¡Z$e"pe#pe$Z%e
j db¡Z&e
j dc¡Z'ddZ(deZ)dfZ*dgZ+dhZ,diZ-djZ.dkZ/dlZ0dmZ1dnZ2doZ3dpZ4dqZ5drZ6dsZ7dtZ8duZ9dvZ:dwZ;dxZ<dyZ=dzZ>d{Z?d|Z@d}ZAedkr°d~ZBdZCdZDn Gd€d„dejEƒZFeGƒ HeFjI¡edkräd‚ZJdƒZKn Gd„d…„d…ejEƒZLeGƒ HeLjI¡e
 M¡ZNesd†ZOn2ze
 P¡ZOWn$eQk
rHer@d‡nd†ZOYnXedHdˆd‰dŠd‹dŒdgƒZRedDdˆd‰dŠd‹gƒZSedBdŽddd‘d’d“gƒZTedCd”d•d–d—d˜d™gƒZUedEdšd›dœddždŸd d¡gƒZVedId¢d£d¤d¥d¦gƒZWed@d§d¨d©dªd«d¬d¦gƒZXedFd¨d­d®d¯d°gƒZYedGd±d²d³d´gƒZZedAdµd¶d·d¸gƒZ[ed¹dºd»d¼gƒZ\ed½d¾dºd¿dÀgƒZ]edÁd‹dÂdÃgƒZ^edÄd¾dºgƒZ_ed8dÅdÆdÇdÈgƒZ`ed=dÉd§gƒZaed>dÊdËdÌgƒZbed?dÍdÎdÏgƒZced:dÍdÎdÏgƒZded;dŽddd‘gƒZeed<dÐdÑgƒZfed9dÒdÓgƒZged7d§d¨d©dªd«d¬gƒZhedÔdÕdÖgƒZieeegeegfeegegfegegfeegegfegegfeegeegfegeegfegeegfdלZjedk	rej HegegfegegfdØœ¡edk	r²ej HdÙegeegfi¡GdÚdÛ„dÛekƒZlGdÜdÝ„dÝelƒZmGdÞdß„dßemƒZnGdàdá„dáelƒZoGdâdã„dãelƒZpddädP„ZqdådM„Zrdædç„ZsdèdL„ZtdédO„ZuerdêdQ„ƒZvdëdN„ZwdìdR„ZxdídS„ZyddîdV„ZzdïdK„Z{Gdðdñ„dñƒZ|dòdT„Z}e|ƒZ~e~je}_e~j€e}_€dódô„Zdõdö„Z‚ddødU„Zƒdùdú„Z„erÆdûdü„Z…ndýdü„Z…ere
j†fdþdY„ƒZ‡dddX„Zˆddÿe
j†fddZ„Z‰eŠe ‹dd¡ƒr*ddlŒZŒddW„Zn
ddW„ZdS(	z9Common objects shared by __init__.py and _ps*.py modules.é)ÚdivisionÚprint_functionN)Údefaultdict)Ú
namedtuple)ÚAF_INET)Ú
SOCK_DGRAM)ÚSOCK_STREAM)ÚAF_INET6)ÚAF_UNIX)éérÚFREEBSDÚBSDÚLINUXÚNETBSDÚOPENBSDÚMACOSÚOSXÚPOSIXÚSUNOSÚWINDOWSÚ
CONN_CLOSEÚCONN_CLOSE_WAITÚCONN_CLOSINGÚCONN_ESTABLISHEDÚCONN_FIN_WAIT1ÚCONN_FIN_WAIT2Ú
CONN_LAST_ACKÚCONN_LISTENÚ	CONN_NONEÚ
CONN_SYN_RECVÚ
CONN_SYN_SENTÚCONN_TIME_WAITÚNIC_DUPLEX_FULLÚNIC_DUPLEX_HALFÚNIC_DUPLEX_UNKNOWNÚSTATUS_DEADÚSTATUS_DISK_SLEEPÚSTATUS_IDLEÚ
STATUS_LOCKEDÚSTATUS_RUNNINGÚSTATUS_SLEEPINGÚSTATUS_STOPPEDÚSTATUS_SUSPENDEDÚSTATUS_TRACING_STOPÚSTATUS_WAITINGÚSTATUS_WAKE_KILLÚ
STATUS_WAKINGÚ
STATUS_ZOMBIEÚ
STATUS_PARKEDÚENCODINGÚ
ENCODING_ERRSr	ÚpconnÚ	pcputimesÚpctxswÚpgidsÚpioÚpioniceÚ	popenfileÚpthreadÚpuidsÚsconnÚ	scpustatsÚsdiskioÚ	sdiskpartÚ
sdiskusageÚsnetioÚsnicaddrÚ	snicstatsÚsswapÚsuserÚ	conn_tmapÚdeprecated_methodÚ
isfile_strictÚmemoizeÚparse_environ_blockÚpath_exists_strictÚ
usage_percentÚ
supports_ipv6Úsockfam_to_enumÚsocktype_to_enumÚwrap_numbersÚbytes2humanÚconn_to_ntupleÚdebugÚhiliteÚterm_supports_colorsÚprint_colorÚposixÚntZlinuxÚdarwinZfreebsdZopenbsdZnetbsd)ZsunosZsolarisZaixZrunningZsleepingz
disk-sleepZstoppedztracing-stopZzombieZdeadz	wake-killZwakingZidleÚlockedZwaitingZ	suspendedZparkedZESTABLISHEDZSYN_SENTZSYN_RECVZ	FIN_WAIT1Z	FIN_WAIT2Z	TIME_WAITZCLOSEZ
CLOSE_WAITZLAST_ACKZLISTENZCLOSINGZNONEééc@seZdZdZdZdZdS)Ú	NicDuplexr^r_rN)Ú__name__Ú
__module__Ú__qualname__r#r$r%©rdrdúA/opt/alt/python38/lib64/python3.8/site-packages/psutil/_common.pyr`‡sr`éÿÿÿÿéþÿÿÿc@seZdZdZdZdS)ÚBatteryTimerfrgN)rarbrcÚPOWER_TIME_UNKNOWNÚPOWER_TIME_UNLIMITEDrdrdrdrerh“srhÚreplaceÚsurrogateescapeÚtotalÚusedZfreeZpercentZsinZsoutZ
read_countZwrite_countZ
read_bytesZwrite_bytesZ	read_timeZ
write_timeZdeviceZ
mountpointZfstypeZoptsZmaxfileZmaxpathZ
bytes_sentZ
bytes_recvZpackets_sentZpackets_recvZerrinZerroutZdropinZdropoutÚnameZterminalZhostZstartedÚpidÚfdZfamilyÚtypeÚladdrÚraddrÚstatusZaddressZnetmaskZ	broadcastZptpZisupZduplexZspeedZmtuZctx_switchesZ
interruptsZsoft_interruptsZsyscallsÚscpufreqZcurrentÚminÚmaxÚshwtempZlabelZhighZcriticalÚsbatteryZsecsleftZ
power_pluggedÚsfanÚuserÚsystemÚ
children_userÚchildren_systemÚpathÚidZ	user_timeZsystem_timeÚrealZ	effectiveZsavedZioclassÚvalueZ	voluntaryZinvoluntaryÚaddrZipZport)ÚallZtcpZtcp4ZudpZudp4ZinetZinet4Zinet6)Ztcp6Zudp6Zunixc@s*eZdZdZdZd	dd„Zdd„ZeZdS)
ÚErrorzQBase exception class. All other psutil exceptions inherit
    from this one.
    ÚpsutilÚcCst ||¡||_dS©N)Ú	ExceptionÚ__init__Úmsg)ÚselfrŒrdrdrer‹szError.__init__cCsd|jj|jf}| ¡S)Nzpsutil.%s %s)Ú	__class__rarŒÚstrip©rÚretrdrdreÚ__repr__szError.__repr__N)rˆ)rarbrcÚ__doc__r‹r’Ú__str__rdrdrdrer†s

r†c@seZdZdZdZddd„ZdS)Ú
NoSuchProcesszXException raised when a process with a certain PID doesn't
    or no longer exists.
    r‡NcCsXt ||¡||_||_||_|dkrT|r@d|jt|jƒf}n
d|j}d||_dS)Nú(pid=%s, name=%s)ú(pid=%s)zprocess no longer exists ©r†r‹rprorŒÚrepr)rrprorŒÚdetailsrdrdrer‹'s
zNoSuchProcess.__init__)NN©rarbrcr“r‹rdrdrdrer•!sr•c@seZdZdZdZddd„ZdS)Ú
ZombieProcessa1Exception raised when querying a zombie process. This is
    raised on macOS, BSD and Solaris only, and not always: depending
    on the query the OS may be able to succeed anyway.
    On Linux all zombie processes are querable (hence this is never
    raised). Windows doesn't have zombie processes.
    r‡NcCs~t ||¡||_||_||_||_|dkrzd|g}|rN| dt|jƒ¡|rb| d|j¡dd |¡}d||_dS)Nzpid=%szname=%szppid=%sz(%s)z, z'process still exists but it's a zombie )	r•r‹rpÚppidrorŒÚappendr™Újoin)rrprorrŒÚargsršrdrdrer‹=s
zZombieProcess.__init__)NNNr›rdrdrdrerœ4srœc@seZdZdZdZddd„ZdS)ÚAccessDeniedz@Exception raised when permission to perform an action is denied.r‡NcCsjt ||¡||_||_||_|dkrf|dk	rJ|dk	rJd|t|ƒf|_n|dk	r`d|j|_nd|_dS)Nr–r—rˆr˜)rrprorŒrdrdrer‹QszAccessDenied.__init__)NNNr›rdrdrdrer¡Msr¡c@seZdZdZdZddd„ZdS)ÚTimeoutExpiredzWRaised on Process.wait(timeout) if timeout expires and process
    is still alive.
    r‡NcCsnt |d|¡||_||_||_|dk	rN|dk	rN|jd|t|ƒf7_n|dk	rj|jd|j7_dS)Nztimeout after %s secondsz (pid=%s, name=%s)z	 (pid=%s))r†r‹ÚsecondsrprorŒr™)rr£rprordrdrer‹eszTimeoutExpired.__init__)NNr›rdrdrdrer¢_sr¢cCsFzt|ƒ|d}Wntk
r*YdSX|dk	r>t||ƒ}|SdS)z5Calculate percentage usage of 'used' against 'total'.édgN)ÚfloatÚZeroDivisionErrorÚround)rnrmZround_r‘rdrdrerOus
cs2t ˆ¡‡‡fdd„ƒ}‡fdd„}i‰||_|S)aA 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()
    >>>
    csN|tt| ¡ƒƒf}z
ˆ|WStk
rHˆ||Ž}ˆ|<|YSXdSr‰)Ú	frozensetÚsortedÚitemsÚKeyError)r ÚkwargsÚkeyr‘©ÚcacheÚfunrdreÚwrappers
zmemoize.<locals>.wrappercsˆ ¡dS)zClear cache.N)Úclearrd)r¯rdreÚcache_clear˜szmemoize.<locals>.cache_clear)Ú	functoolsÚwrapsr³)r°r±r³rdr®rerLscs6t ˆ¡‡fdd„ƒ}dd„}dd„}||_||_|S)aúA memoize decorator which is disabled by default. It can be
    activated and deactivated on request.
    For efficiency reasons it can be used only against class methods
    accepting no arguments.

    >>> class Foo:
    ...     @memoize
    ...     def foo()
    ...         print(1)
    ...
    >>> f = Foo()
    >>> # deactivated (default)
    >>> foo()
    1
    >>> foo()
    1
    >>>
    >>> # activated
    >>> foo.cache_activate(self)
    >>> foo()
    1
    >>> foo()
    >>> foo()
    >>>
    csTz|jˆ}Wn@tk
r*ˆ|ƒYStk
rNˆ|ƒ}|jˆ<YnX|Sr‰)Ú_cacheÚAttributeErrorr«r©r°rdrer±»sz'memoize_when_activated.<locals>.wrappercSs
i|_dS)zjActivate cache. Expects a Process instance. Cache will be
        stored as a "_cache" instance attribute.N)r¶©ÚprocrdrdreÚcache_activateÉsz.memoize_when_activated.<locals>.cache_activatecSs"z|`Wntk
rYnXdS)zDeactivate and clear cache.N)r¶r·r¹rdrdreÚcache_deactivateÎsz0memoize_when_activated.<locals>.cache_deactivate)r´rµr»r¼)r°r±r»r¼rdr¸reÚmemoize_when_activated¡s
r½c
Cs\zt |¡}Wn<tk
rJ}z|jtjtjfkr4‚WY¢dSd}~XYnXt |j¡SdS)zœSame as os.path.isfile() but does not swallow EACCES / EPERM
    exceptions, see:
    http://mail.python.org/pipermail/python-dev/2012-June/120787.html
    FN)ÚosÚstatÚOSErrorÚerrnoÚEPERMÚEACCESÚS_ISREGÚst_mode)r€ÚstÚerrrdrdrerKÚsc
CsTzt |¡Wn<tk
rJ}z|jtjtjfkr4‚WY¢dSd}~XYnXdSdS)zœSame as os.path.exists() but does not swallow EACCES / EPERM
    exceptions, see:
    http://mail.python.org/pipermail/python-dev/2012-June/120787.html
    FNT)r¾r¿rÀrÁrÂrÃ)r€rÇrdrdrerNésc	CsdtjrtdkrdSz4t ttj¡}t |¡| d¡W5QRXWdStjk
r^YdSXdS)z2Return True if IPv6 is supported on this platform.NF)z::1rT)ÚsocketZhas_ipv6r	rÚ
contextlibÚclosingZbindÚerror)ZsockrdrdrerPøscCsvi}d}t}| d|¡}||kr"qr| d||¡}||krh|||…}||d|…}|r`| ¡}|||<|d}q|S)zCParse a C environ block of environment variables into a dictionary.rúú=r_)rÚfindÚupper)Údatar‘ÚposZWINDOWS_Znext_posZ	equal_posr­rƒrdrdrerMs
cCs6tdkr|Szt |¡WStk
r0|YSXdS)zConvert a numeric socket family value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    N)ÚenumrÈZ
AddressFamilyÚ
ValueError©ZnumrdrdrerQ"scCs6tdkr|Szt |¡WStk
r0|YSXdS)zConvert a numeric socket type value to an IntEnum member.
    If it's not a known member, return the numeric value itself.
    N)rÒrÈZ
SocketKindrÓrÔrdrdrerR/scCs|tjtfkr&|rt|Ž}|r&t|Ž}|tjkrJ|ttfkrJ| |t¡}nt}t|ƒ}t|ƒ}|dkrxt	||||||ƒSt
|||||||ƒSdS)z2Convert a raw connection tuple to a proper ntuple.N)rÈrr	r„rÚgetrrQrRr6r?)rqZfamZtype_rsrtruZ
status_maprprdrdrerU<scs‡fdd„}|S)zƒA decorator which can be used to mark a method as deprecated
    'replcement' is the method name which will be called instead.
    cs:d|jˆf‰|jdkrˆ|_t |¡‡‡fdd„ƒ}|S)Nz8%s() is deprecated and will be removed; use %s() insteadcs tjˆtddt|ˆƒ||ŽS)Nr^)ÚcategoryÚ
stacklevel)ÚwarningsÚwarnÚDeprecationWarningÚgetattr)rr r¬)rŒÚreplacementrdreÚinnerYsz/deprecated_method.<locals>.outer.<locals>.inner)rar“r´rµ)r°rÝ©rÜ©rŒreÚouterSsÿ
z deprecated_method.<locals>.outerrd)rÜràrdrÞrerJOsc@sBeZdZdZdd„Zdd„Zdd„Zdd	„Zddd„Zd
d„Z	d
S)Ú_WrapNumberszNWatches numbers so that they don't overflow and wrap
    (reset to zero).
    cCs t ¡|_i|_i|_i|_dSr‰)Ú	threadingZLockÚlockr¯Ú	remindersÚ
reminder_keys©rrdrdrer‹fs
z_WrapNumbers.__init__cCs*||j|<ttƒ|j|<ttƒ|j|<dSr‰)r¯rÚinträÚsetrå)rÚ
input_dictrordrdreÚ	_add_dictls
z_WrapNumbers._add_dictcCs\|j|}t| ¡ƒt| ¡ƒ}|D]0}|j||D]}|j||=q8|j||=q&dS)z†In case the number of keys changed between calls (e.g. a
        disk disappears) this removes the entry from self.reminders.
        N)r¯rèÚkeysrårä)rréroÚold_dictZ	gone_keysZgone_keyÚremkeyrdrdreÚ_remove_dead_remindersts
z#_WrapNumbers._remove_dead_remindersc
	Cs
||jkr| ||¡|S| ||¡|j|}i}| ¡D]¾}||}z||}Wn tk
rt|||<Yq<YnXg}tt|ƒƒD]f}	||	}
||	}||	f}|
|krÔ|j|||7<|j|| 	|¡| 
|
|j||¡q†t|ƒ||<q<||j|<|S)zkCache dict and sum numbers which overflow and wrap.
        Return an updated copy of `input_dict`
        )r¯rêrîrër«ÚrangeÚlenräråÚaddržÚtuple)
rrérorìZnew_dictr­Zinput_tupleZ	old_tupleÚbitsÚiZinput_valueÚ	old_valuerírdrdreÚruns2



z_WrapNumbers.runNc	Csh|jX|dkr0|j ¡|j ¡|j ¡n*|j |d¡|j |d¡|j |d¡W5QRXdS)z>Clear the internal cache, optionally only for function 'name'.N)rãr¯r²räråÚpop)rrordrdrer³¦s

z_WrapNumbers.cache_clearc
Cs.|j|j|j|jfW5QR£SQRXdS)z5Return internal cache dicts as a tuple of 3 elements.N)rãr¯rärårærdrdreÚ
cache_info²sz_WrapNumbers.cache_info)N)
rarbrcr“r‹rêrîrör³rørdrdrdreráas'
rác
Cs*tjt ||¡W5QR£SQRXdS)zÅGiven an `input_dict` and a function `name`, adjust the numbers
    which "wrap" (restart from zero) across different calls by adding
    "old value" to "new value" and return an updated dict.
    N)Ú_wnrãrö)rérordrdrerS¸scKst|df|ŽS)NÚrb)Úopen©Úfnamer¬rdrdreÚopen_binaryÆsrþcKs*tr| dt¡| dt¡t|df|ŽS)z¨On Python 3 opens a file in text mode by using fs encoding and
    a proper en/decoding errors handler.
    On Python 2 this is just an alias for open(name, 'rt').
    ÚencodingÚerrorsZrt)ÚPY3Ú
setdefaultr4r5rûrürdrdreÚ	open_textÊsrú%(value).1f%(symbol)scCsŠd}i}t|dd…ƒD]\}}d|dd>||<qt|dd…ƒD].}|||krFt|ƒ||}|tƒSqF|t|d|dS)zŒUsed by various scripts. See:
    http://goo.gl/zeJZl

    >>> bytes2human(10000)
    '9.8K'
    >>> bytes2human(100001221)
    '95.4M'
    )	ÚBÚKÚMÚGÚTÚPÚEÚZÚYr_Né
r)Úsymbolrƒ)Ú	enumerateÚreversedr¥ÚlocalsÚdict)ÚnÚformatZsymbolsÚprefixrôÚsrrƒrdrdrerTØs	cCstjdjS)z+Return updated psutil.PROCFS_PATH constant.r‡)ÚsysÚmodulesZPROCFS_PATHrdrdrdreÚget_procfs_pathìsrcCs|jttdS)N)rÿr)Údecoder4r5©rrdrdreròsrcCs|Sr‰rdrrdrdrerõscCsBtjdkrdSzddl}| ¡Wntk
r8YdSXdSdS)Nr[TrF)r¾roÚcursesZ	setuptermrŠ)ÚfilerrdrdrerXþs
FcCstƒs
|Sg}tddddddddd	d
	}d|d<z||}Wn(tk
rdtd
t| ¡ƒƒ‚YnX| |¡|r~| d¡dd |¡|fS)z*Return an highlighted version of 'string'.Z32Z91Z33Z93Z34Z35Z36Z37Z30)	ÚgreenÚredÚbrownÚyellowZblueZvioletZ	lightblueZgreyZdarkgreyZ29Nz#invalid color %r; choose between %sÚ1z[%sm%sú;)rXrr«rÓÚlistrëržrŸ)rÚcolorÚboldÚattrÚcolorsrdrdrerW
s(ÿ
ÿ

c	Cstƒst||dnêtr.tt|||ƒ|dnÐddl}d}|jjj}|jjj}t	ddddd}||d<z||}Wn,t
k
ržtd	|t| 
¡ƒfƒ‚YnX|r´|dkr´|d
7}|tjkrÂdnd}	|j|_||	ƒ}
||
|ƒzt||dW5||
|ƒXdS)
z$Print a colorized version of string.©rrNér^ré)rr r!r"z#invalid color %r; choose between %réiôÿÿÿiõÿÿÿ)rXÚprintrrWÚctypesZwindllZKernel32ÚGetStdHandleÚSetConsoleTextAttributerr«rÓr%rërÚstderrZc_ulongZrestype)rr&r'rr/Z
DEFAULT_COLORr0r1r)Z	handle_idZhandlerdrdrerY s6
ÿ
ÿ
ZPSUTIL_DEBUGcCs6t t ¡j¡\}}}}}td|||ftjddS)z@If PSUTIL_DEBUG env var is set, print a debug message to stderr.zpsutil-debug [%s:%s]> %sr*N)ÚinspectZgetframeinfoZcurrentframeÚf_backr.rr2)rŒrýÚlinenoZ	func_nameÚlinesÚindexrdrdrerVFsÿÿcCsdSr‰rdrßrdrdrerVMs)N)N)r)NF)Žr“Z
__future__rrrÉrÁr´r¾rÈr¿rrârØÚcollectionsrrrrrr	ÚImportErrorr
Úversion_inforÒrÚ__all__rorrÚplatformÚ
startswithrrrr
rrrrZAIXr*r+r'r,r.r2r&r0r1r(r)r/r-r3rr!r rrr"rrrrrrr#r$r%ÚIntEnumr`ÚglobalsÚupdateÚ__members__rirjrhÚgetfilesystemencodingr4r5Úgetfilesystemencodeerrorsr·rGrCrArBrDrHr?rErFr@rvryrzr{r7r<r=r>r9r:r;r8r6r„rIrŠr†r•rœr¡r¢rOrLr½rKrNrPrMrQrRrUrJrárSrùr³rørþrrTrrÚstdoutrXrWrYÚboolÚgetenvr3rVrdrdrdreÚ<module>s.


å$

	


ÿþÿýÿÿ
ÿ
ÿ
ÿÿÿ	

ø


þ
ÿ
 9



W	
	ÿ#
Back to Directory File Manager