?HgpddlZddlZddlZddlZddlmZmZdZdZdZ dZ ddZ dd Z dd Z d Zd ZdS)N) run_commandExternalProgramFailedzAvailable values for optionc|dr#|dd\}}d|zd|idS|tr5|dd\}}|dzd |idSd |iS) zu Replacing params in data for show error message :param data: error's data for show message :return: z-- z %(param)s param)resultcontext:z: %(available_options)savailable_optionsr ) startswithsplit VALUES_STRstrip)datartexts G/opt/cloudlinux/venv/lib/python3.11/site-packages/cllimits/lib/utils.pyreplace_paramsrs  tLjja(( t&-7E:JKKK z""Ajja(( e!::/?AA A d cH t|dS#t$rYdSwxYw)z Checks is string contains a number (integer or float) :param s_val: String to check :return: True - string is number, False - not number TF)float ValueError)s_vals r_is_string_numberr$s9  e t uus  !!ctt|}|drd}nV|drd}n>|drd}n&t|rd}|d}nt dt d|zt |d d zS) zs Convert value in Gbytes,Mbytes to bytes :param value: value of mem limit :return: value in bytes krmgzWrong memory valueN)strlowerendswithrrintr)valuepowers rconvert_mem_value_to_bytesr)1s JJ    E ~~c /   /   / 5 ! !/ -... tu}uU3B3Z000 1 11rTc|s|St|}gd}|dr|d=t|dddd}|drd}|dd}nd}t |}|D]'}|dzdkr|dz}|dkr|d}n ||d |}|S) z Convert memory value to adaptive value in GB, TB, etc :param value: memory value in MB or KB :param convert: if True - convert value, False - not convert :return: adaptive value in GB, TB, etc )KMGTPrrr*r!0Kz.2f)r#r$r%replacer r)r'convertunitsr units r(_convert_memory_value_to_adaptive_formatr7Gs'  JJ    E % % %E ~~c !H JJ     & &sB / / 7 7R @ @E  c2&& %LLE D=1   TMEE aZZ]]]F E111411F  MrFcr|r%ttj|ddSt|dS)z Print specified dictionary :param data_dict: data dictionary to print :param is_json: True - print in JSON, False - in text :return: None T) sort_keysN)printjsondumps) data_dictis_jsons rprint_dictionaryr?nsE djd33344444 irctjt|d}t||tjddS)za Prints to stdout :param: is_json - True if print error in json format, False - text ) timestampr rN)timer#r?sysexit)messager>rs rprint_error_and_exitrFs> G = =DT7###HQKKKKKrctj|rtj|sdSdS)z\ Detect quota is supported :return: True/False - quotas supported/not supported FT)ospathisfile) cl_quota_path repquota_paths ris_quota_supportedrMs9 7>>- ( (}0M0Mu 4rc~t||sdS|dg} t|}n#t$rYdSwxYw|sdSdS)z\ Detect quota is activated :return: True/False - quotas activated/not activated Fz-nvaT)rMrr)rKrLcmdstdouts ris_quota_activerQso m] ; ;u & !CS!! uu u 4s ( 66)T)F)r;rHrCrBclcommon.utilsrrrrrr)r7r?rFrMrQrrrTs ======== * $   222,$$$$N"r