Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/clcommon/__pycache__/clfunc.cpython-311.pyc



]jddlZddlZddlZddlZddlZdZdZdddddZd	ee	zd
ee	zdzfdZ
dejfdZdejfd
Z
dZdZddZddZddZdZdZdZdZded
efdZdS)Nz/proc/lve/listcz	ttd5}|d}dddn#1swxYwYt|ddddg}nJ#t
$rdd	tg}Yn2t$rdd
tg}Ynt$rddtg}YnwxYw|S)z/
    Obtain lve process filesystem version
    utf-8encodingN:rOKz+clcommon: get_lve_version: Can`t open file z/clcommon: get_lve_version: Can`t get data from z'clcommon: get_lve_version: Can`t parse )openLVE_FILEreadintrsplitIOError
IndexError
ValueError)flinelve_procfs_versions   o/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/clcommon/clfunc.pyget_lve_versionrsF	Z
(W
-
-
-	66!99D															!$++c1"5"5a"8994@^^^"$\RZ$\$\]bbb"$`V^$`$`aZZZ"$Xh$X$XYZs:A1:A1>A1>.A11B8	B8 B87B8r	i@)KMGTvalreturnc(t|}tjd}||}|r@t	|t
tfrt
|S|dStjd}||}|r|ddStjdtj}||}|r|	\}}}||SdS)z
    Check that the value is a valid CPU limit (0-100 int or speed (% or MHz/GHz)).
    Return the value if valid, otherwise None.
    If the value contains decimal part, return only integer part.
    z^([1-9][0-9]?|100)(?:\.(\d+))?$r	z"^([1-9]|[1-9][0-9]*)(?:\.(\d+))?%$%z*^([1-9]|[1-9][0-9]*)(?:\.(\d+))?(mhz|ghz)$N)
strrecompilematch
isinstancefloatrgroup
IGNORECASEgroups)	rdata
regexp_intregex_match
regexp_speedp
regexp_speedfinteger_part_units	         rvalidate_cpur3-ss88D>??J""4((K$cE3<((	s88O  ###JDEEM%%d++K*##A&&))))JLbm\\M%%d++K' + 2 2 4 4a&&&&4cp	t|}n#t$rYdSwxYw||cxkr|krndS|SdS)zH
    Check that val - is a string number
    return val as a string
    N)rr)rmin_valmax_valdig_vals    rvalidate_intr9Msh
c((tt'$$$$W$$$$$$
%$s
  c<	|d}|rd}||z}tt|ddt|zdz}||cxkr|krnn|Sn#t
ttf$rYnwxYwdS)Nr)isdigitrr'BYTES_CONVERSION_TABLEupperrrKeyError)rr6r7suffixresults     rmemory_to_pagerCZs	
R>>	F,CU3ss8__'=fllnn'MMPQQRRf'''''''''M
H-



4sA;A??BBc|dkrt|dzdzS|dkr3ttt|dzdzddzSttt|dzdzdd	zS)
Nr<rirrrr)r"roundr')pagess rpage_to_memoryrIhss{{519~~##v~~5u)D0!4455;;uU5\\A%5q99::S@@r4c*tjdd|d|gtj5}|dd}dddn#1swxYwY|D]}|}	|d|tj	t|dtj#tttf$rYwxYwdS)Nz/bin/psz-Uz-u)stdoutr
r;)
subprocessPopenPIPEcommunicatesplitrstripindexencodeoskillrsignalSIGHUPrrOSError)itemusernameproclinesrowpartss      rreload_processesr`psE			D(D(3


3
  ""1%++E22	333333333333333


""$$	"IOODKKMM***GCaMM6=1111J0			H	s$.A  A$'A$AC66DD/etc/login.defscZt|d5}|D]}}|dr|ddd}|}t|dkr"|d|kr|dccdddS~	dddn#1swxYwY|S)Nrr#r	rrF)r
startswithrQlen)keydefault_path
login_defsraw_linerline_spliteds       rriris	
eg	&	&	&'*"	'	'H""3''
>>#q))!,D::<<L<  A%%,q/S*@*@#A&&''''''''	''''''''''''''''NsA3B B  B$'B$`c	ttd}n#tttf$r|}YnwxYw|S)NUID_MAX)rrirr	TypeError)rguid_max_s  ruid_maxrqsNz),,--Z+Os;;crtj|dtj|dS)N
)sysstderrwriteexit)messagestatuss  rexit_with_errorrzs4J^^^$$$HVr4cd|vr:	|dd}n#t$rYnwxYw|S)Nz\uunicode_escaper)decoderTUnicodeDecodeErrorss rsafe_escaped_unicode_to_utfrsWzz	)**11'::AA!			D	Hs(/
<<c\t|trd|DSt|trd|DSt|trt	d|DSt|t
r|S|S)NcNi|]"\}}t|t|#Sbyteify.0rfvalues   r
<dictcomp>zbyteify.<locals>.<dictcomp>s:000Cgenn000r4c,g|]}t|Srrrelements  r
<listcomp>zbyteify.<locals>.<listcomp>s 555W  555r4c34K|]}t|VdSNrrs  r	<genexpr>zbyteify.<locals>.<genexpr>s*::'WW%%::::::r4)r&dictitemslisttupler"rTr+s rrrs$
00"&**,,000	0	D$		555555	D%	 	 ::T::::::	D#		{{}}r4c\t|trd|DSt|trd|DSt|trt	d|DSt|t
r|S|S)NcNi|]"\}}t|t|#Sr
unicodeifyrs   rrzunicodeify.<locals>.<dictcomp>s<000C3E!2!2000r4c,g|]}t|Srrrs  rrzunicodeify.<locals>.<listcomp>s 888
7##888r4c34K|]}t|VdSrrrs  rrzunicodeify.<locals>.<genexpr>s*==WZ((======r4)r&rrrrbytesr}rs rrrs$
00"&**,,000	0	D$		8848888	D%	 	 ========	D%	 	 {{}}r4c|	|dddS#t$rYdSwxYw)z
    Check is string contains only ASCII characters
    :param s: string to check
    :return: True - string contains only ASCII characters
    rrasciiTF)rTr}r~rs ris_ascii_stringrsT	'""))'222tuus)-
;;textcdd}tjd||}tjdd|}|S)zG
    Escape '%' characters inside text, except '%' followed by '('
    cv|dddz|dzS)zo
        Generate string to replace from matched string
        '% ' -> '%% '
        '%%c' -> '%%%%c'
        Nr;rF)r()	match_objs rreplacez(escape_formatting_chars.<locals>.replaces6  "%)IOO,=,=b,AAAr4z%+([^(])z%$z%%)r#sub)rrs  rescape_formatting_charsrsABBB6+w--D
6%%%DKr4)Nra)rl)r	)rUr#rWrMrtrrr>r"rr3maxsizer9rCrIr`rirqrzrrrrrrr4r<module>rs
							







&
	
			cCiC#I$4@ 



!"3;AAA				



##r4
Back to Directory File Manager