????

Your IP : 3.147.70.194


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/__pycache__/clfunc.cpython-311.pyc

�

K�fr����ddlmZddlmZddlmZddlZddlZddlZddlZddlZdZ	d�Z
ddd	d
d�Zd�Zdej
fd
�Zdej
fd�Zd�Zd�Zdd�Zdd�Zdd�Zd�Zd�Zd�Zd�Zdedefd�ZdS) �)�absolute_import)�division)�print_functionNz/proc/lve/listc���	tt��5}|�d��}ddd��n#1swxYwYt|�dd��d��dg}nz#t
$rdd�t��g}YnRt$rdd�t��g}Yn+t$rdd	�t��g}YnwxYw|S)
z/
    Obtain lve process filesystem version
    �N�:�r�OKz-clcommon: get_lve_version: Can`t open file {}z1clcommon: get_lve_version: Can`t get data from {}z*clcommon: get_lve_version: Can`t parse  {})	�open�LVE_FILE�read�int�rsplit�IOError�format�
IndexError�
ValueError)�f�line�lve_procfs_versions   ��/builddir/build/BUILDROOT/alt-python27-cllib-3.4.8-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/clfunc.py�get_lve_versionrsR��	c�
�(�^�^�	�q��6�6�!�9�9�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�!�$�+�+�c�1�"5�"5�a�"8�9�9�4�@�����f�f�f�"�$S�$Z�$Z�[c�$d�$d�e�����j�j�j�"�$W�$^�$^�_g�$h�$h�i�����c�c�c�"�$P�$W�$W�X`�$a�$a�b����c�����s9�A/�8�A/�<�A/�<�.A/�/&C&�%C&�>%C&�%C&r	��i@)�K�M�G�Tc�X�t|��}tjd��}tjd��}tjdtj��}|�|��}|�|��}|�|��}|dks|dks|dkr|SdS)zh
    check that val is a valid CPU limit (0-100 int or speed (% or MHZ\GHZ))
    return val if ok a
    z^([1-9]|[1-9][0-9]|100)$z^([1-9]|[1-9][0-9]*)%$z^([1-9]|[1-9][0-9]*)(mhz|ghz)+$N)�str�re�compile�
IGNORECASE�match)�val�data�
regexp_int�
regexp_speedp�
regexp_speedf�p1�p2�p3s        r�validate_cpur-0s���
�s�8�8�D���7�8�8�J��J�8�9�9�M��J�A�2�=�Q�Q�M�	�	�	�$�	�	�B�	�	�	�T�	"�	"�B�	�	�	�T�	"�	"�B�	�T�z�z�R�4�Z�Z�2��:�:��
��4�c�p�	t|��}n#t$rYdSwxYw||cxkr|krndS|SdS)zH
    Check that val - is a string number
    return val as a string
    N)rr)r%�min_val�max_val�dig_vals    r�validate_intr3Ash��
��c�(�(���������t�t������'�$�$�$�$�W�$�$�$�$�$�$��
�%�$s��
 � c�<�	|d}|���rd}||z}tt|dd���t|���zdz��}||cxkr|krnn|Sn#t
ttf$rYnwxYwdS)N���r�)�isdigitr�float�BYTES_CONVERSION_TABLE�upperrr�KeyError)r%r0r1�suffix�results     r�memory_to_pager>Ns���	
��R����>�>���	��F���,�C��U�3�s��s�8�_�_�'=�f�l�l�n�n�'M�M�PQ�Q�R�R���f�'�'�'�'��'�'�'�'�'��M����
�H�-�
�
�
���
�����4s�A;A?�?B�Bc��|dkrt|dz��dzS|dkr3ttt|��dzdzd����dzSttt|��dzdzd����d	zS)
N�r6rir�rrr)r �roundr8)�pagess r�page_to_memoryrD\s����s�{�{��5�1�9�~�~��#�#��v�~�~��5��u����)�D�0�!�4�4�5�5��;�;��u�U�5�\�\�A�%��5�q�9�9�:�:�S�@�@r.c��tjdd|d|gtj���}|���d�d��}|D]�}|������}	|d�|�����tj	t|d��tj����#tttf$rY��wxYwdS)Nz/bin/psz-Uz-u)�stdoutr�
r5)�
subprocess�Popen�PIPE�communicate�split�rstrip�index�encode�os�killr�signal�SIGHUPrr�OSError)�item�username�ps�lines�row�partss      r�reload_processesr[ds���	�	�9�d�H�d�H�E�j�o�	^�	^�	^�B��N�N���Q��%�%�e�,�,�E������
�
���"�"�$�$��	��"�I�O�O�D�K�K�M�M�*�*�*��G�C��a��M�M�6�=�1�1�1�1���J��0�	�	�	��H�	�����s�>AC�C8�7C8�/etc/login.defsc�V�t|��5}|D]}}|�d��r�|�dd��d}|���}t|��dkr"|d|kr|dccddd��S�~	ddd��n#1swxYwY|S)N�#r	rrA)r�
startswithrL�len)�key�default�_path�
login_defs�raw_liner�line_spliteds       rrdrdps��	
�e���'�
�"�	'�	'�H��"�"�3�'�'�
���>�>�#�q�)�)�!�,�D��:�:�<�<�L��<� � �A�%�%�,�q�/�S�*@�*@�#�A��&�&�'�'�'�'�'�'�'�'��	'�'�'�'�'�'�'�'�'�'�'�'����'�'�'�'��Ns�A3B�B�B"�%B"�`�c��	ttd����}n#tttf$r|}YnwxYw|S)N�UID_MAX)rrdrr�	TypeError)rb�uid_max_s  r�uid_maxrl|sN����z�)�,�,�-�-�����Z��+�������������Os��;�;c��tj�dt|��z��tj|��dS)Nz%s
)�sys�stderr�writer �exit)�message�statuss  r�exit_with_errorrt�s9���J���V�s�7�~�~�.�/�/�/��H�V�����r.c��d|vr:	|�d���d��}n#t$rYnwxYw|S)Nz\u�unicode_escape�utf-8)�decoderO�UnicodeDecodeError��ss r�safe_escaped_unicode_to_utfr|�sW����z�z�	����)�*�*�1�1�'�:�:�A�A��!�	�	�	��D�	�����Hs�(/�
<�<c�\�t|t��rd�|���D��St|t��rd�|D��St|t��rt	d�|D����St|t
��r|���S|S)Nc�N�i|]"\}}t|��t|����#S���byteify��.0ra�values   r�
<dictcomp>zbyteify.<locals>.<dictcomp>�s:��0�0�0��C������g�e�n�n�0�0�0r.c�,�g|]}t|����Srr��r��elements  r�
<listcomp>zbyteify.<locals>.<listcomp>�s ��5�5�5�W��� � �5�5�5r.c3�4K�|]}t|��V��dS�Nr�r�s  r�	<genexpr>zbyteify.<locals>.<genexpr>�s*����:�:�'�W�W�%�%�:�:�:�:�:�:r.)�
isinstance�dict�items�list�tupler rO�r&s rr�r��s����$����
�0�0�"&�*�*�,�,�0�0�0�	0�	�D�$�	�	��5�5��5�5�5�5�	�D�%�	 �	 ���:�:�T�:�:�:�:�:�:�	�D�#�	�	���{�{�}�}���r.c�\�t|t��rd�|���D��St|t��rd�|D��St|t��rt	d�|D����St|t
��r|���S|S)Nc�N�i|]"\}}t|��t|����#Sr��
unicodeifyr�s   rr�zunicodeify.<locals>.<dictcomp>�s<��0�0�0��C���3����E�!2�!2�0�0�0r.c�,�g|]}t|����Srr�r�s  rr�zunicodeify.<locals>.<listcomp>�s ��8�8�8��
�7�#�#�8�8�8r.c3�4K�|]}t|��V��dSr�r�r�s  rr�zunicodeify.<locals>.<genexpr>�s*����=�=�W�Z��(�(�=�=�=�=�=�=r.)r�r�r�r�r��bytesrxr�s rr�r��s����$����
�0�0�"&�*�*�,�,�0�0�0�	0�	�D�$�	�	��8�8�4�8�8�8�8�	�D�%�	 �	 ���=�=��=�=�=�=�=�=�	�D�%�	 �	 ���{�{�}�}���r.c�|�	|�d����d��dS#t$rYdSwxYw)z�
    Check is string contains only ASCII characters
    :param s: string to check
    :return: True - string contains only ASCII characters
    rw)�encoding�asciiTF)rOrxryrzs r�is_ascii_stringr��sT���	���'��"�"�)�)�'�2�2�2��t�������u�u����s�)-�
;�;�text�returnc�d�d�}tjd||��}tjdd|��}|S)zG
    Escape '%' characters inside text, except '%' followed by '('
    c�v�|���dd�dz|���dzS)zo
        Generate string to replace from matched string
        '% ' -> '%% '
        '%%c' -> '%%%%c'
        Nr5rA)�group)�	match_objs r�replacez(escape_formatting_chars.<locals>.replace�s6����� � ��"��%��)�I�O�O�,=�,=�b�,A�A�Ar.z%+([^(])z%$z%%)r!�sub)r�r�s  r�escape_formatting_charsr��sA��B�B�B��6�+�w��-�-�D�
�6�%���%�%�D��Kr.)Nr\)rg)r	)�
__future__rrrrPr!rRrHrnrrr9r-�maxsizer3r>rDr[rdrlrtr|r�r�r�r r�rr.r�<module>r�s���'�&�&�&�&�&�������%�%�%�%�%�%�	�	�	�	�	�	�	�	�
�
�
�
�����
�
�
�
������&
�	
�	�	�	������" ���
�
�
�
�!"�3�;�����A�A�A�	�	�	�	�	�	�	���������

�
�
�����������#��#������r.