????

Your IP : 3.149.235.7


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

�

xޘfS����ddlmZddlZddlmZddlmZddlm	Z	ddl
mZmZej
�ed��Zed	zZd
aGd�de��Zdd�Zd�Zd�ZdS)�)�absolute_importN)�minidom)�
ExpatError)�etree�)�
CONFIG_DIR�acquire_lockzve.cfgz.tmp�NNc� ��eZdZd�fd�	Z�xZS)�BadVeConfigException�Nothingc�^��tt|���d|z��dS)Nz8Unable to parse /etc/container/ve.cfg file, message: %s )�superr�__init__)�self�message�	__class__s  ��K/opt/cloudlinux/venv/lib64/python3.11/site-packages/clveconfig/ve_config.pyrzBadVeConfigException.__init__s=���
�"�D�)�)�2�2�
�$�
%�	&�	&�	&�	&�	&�)r
)�__name__�
__module__�__qualname__r�
__classcell__)rs@rrrs=�������&�&�&�&�&�&�&�&�&�&rrTc�X�tdkr	|rtSt��5	tjt��}|�d��d}|r||fa||fcddd��S#ttttf$rtd���wxYw#1swxYwYdS)z�
    Load xml config from ve.cfg
    1. setup lock on file
    2. read info
    3. remove lock
    :type use_cache: bool
    :rtype: tuple[xml.Document, xml.Element]
    :raises: BadVeConfigException, LockFailedException
    r
�	lveconfigrNzbad ve.cfg file)�PARSED_XML_CACHEr	�xml�parse�VE_CFG_PATH�getElementsByTagName�OSError�IOErrorr�
IndexErrorr)�	use_cache�_ve_cfg�
_ve_lveconfigs   r�get_xml_configr's���=�(�(�Y�(���	���	*�	*�	*��i��,�,�G�#�8�8��E�E�a�H�M��
:�#*�M�#9� ��M�)�	*�	*�	*�	*�	*�	*�	*�	*����*�j�9�	:�	:�	:�&�'8�9�9�9�	:����		*�	*�	*�	*����	*�	*�	*�	*�	*�	*s(�B�4A/�	B�/-B�B�B#�&B#c��t��5	tjt��}|���cddd��S#tj$r!}t
t|�����d}~wwxYw#1swxYwYdS)z�
    This method works same as get_xml_config,
    but returns etree object
    :rtype: etree.ElementTree
    :raises: BadVeConfigException, LockFailedException
    N)r	rrr�getroot�
ParseErrorr�str)�tree�es  r�get_xml_config_etreer.;s���
���/�/�	/��;�{�+�+�D��<�<�>�>�/�/�/�/�/�/�/�/����	/�	/�	/�&�s�1�v�v�.�.�.�����	/����	/�/�/�/����/�/�/�/�/�/s.�A=�,A
�
A:�A5�5A:�:A=�=B�Bc��|�d��d}||fa|�ddd���}|�dd���dd��}t	j|��}|�d�	��}|st
d
tz���ttd��5}|�
|��|���tj
|�����ddd��n#1swxYwYtjtt��dS)Nrrzutf-8�)�encoding�indent�newl�
r�	)r1z"Rejected attempt to write empty %s�wb)r r�toprettyxml�replacer�parseString�	Exceptionr�open�VE_CFG_PATH_TMP�write�flush�os�fsync�fileno�rename)�xml_documentr&�
xml_string�new_xml�buf�fs      r�save_xmlrHKsX��!�5�5�k�B�B�1�E�M�$�m�5���)�)�7�2�B�)�O�O�J��#�#�E�3�/�/�7�7��s�C�C�J��o�j�)�)�G�
�
�
�w�
�
/�
/�C��L��<�{�J�K�K�K�	
�o�t�	$�	$���	�������	���	�	�	�
�����������������������������I�o�{�+�+�+�+�+s�:AD�D�D)T)�
__future__rr?�xml.domrr�xml.parsers.expatr�lxmlr�ve_lockrr	�path�joinrr<rr:rr'r.rH�rr�<module>rQs���'�&�&�&�&�&�	�	�	�	�"�"�"�"�"�"�(�(�(�(�(�(�������-�-�-�-�-�-�-�-��g�l�l�:�x�0�0����&��!��&�&�&�&�&�9�&�&�&�*�*�*�*�8
/�
/�
/� ,�,�,�,�,r