&d+5 d dl Z d dlZd dlZd dlZd dlZdZd ZdddddZd ee z d ee z dz fdZ d ej fdZd ej fd Z d Zd ZddZddZddZd Zd Zd Zd Zded efdZdS ) Nz/proc/lve/listc z t t d 5 } | d }ddd n# 1 swxY w Y t | dd d dg}nJ# t $ r dd t g}Y n2t $ r dd t g}Y nt $ r ddt g}Y nw xY w|S )z/ Obtain lve process filesystem version utf-8encoding N: r OKz+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 /builddir/build/BUILDROOT/alt-python27-cllib-3.4.36-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/clfunc.pyget_lve_versionr sF Z (W - - - 66!99D !$++c1"5"5a"8994@ ^ ^ ^"$\RZ$\$\] b b b"$`V^$`$`a Z Z Z"$Xh$X$XYZ s: A1 :A1 >A1 >.A1 1B8 B8 B87B8r i @)KMGTvalreturnc ( t | }t j d }| | }|r@t | t t f rt | S | d S t j d }| | }|r| d dS t j dt j }| | }|r| \ }}}| | S dS )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 isinstancefloatr group IGNORECASEgroups) r data regexp_intregex_match regexp_speedp regexp_speedfinteger_part_units r validate_cpur3 - s s88D >??J""4((K $cE3<(( s88O ### JDEEM%%d++K *##A&&)))) JLbm\\M%%d++K ' + 2 2 4 4a&&&&4 c p t | }n# t $ r Y dS w xY w||cxk r|k rn dS | S dS )zH Check that val - is a string number return val as a string N)r r )r min_valmax_valdig_vals r validate_intr9 M sh c(( tt'$$$$W$$$$$$ %$s c < | d }| rd}| |z } t t | d d t | z dz }||cxk r|k rn n|S n# t t t f$ r Y nw xY wd S )Nr )isdigitr r' BYTES_CONVERSION_TABLEupperr r KeyError)r r6 r7 suffixresults r memory_to_pagerC Z s R>> F,CU3ss8__'=fllnn'MMPQQRRf'''''''''M H- 4s A;A? ?BBc | dk rt | dz dz S | dk r3t t t | dz dz d dz S t t t | dz dz d d z S ) N r<