Your IP : 18.117.11.129


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

�

T�g���ddlZddlmZddlmZddlmZddlm	Z	m
Z
ej�e	d��Z
e
dzZd	aGd
�de��Zdd
�Zd�Zd�ZdS)�N)�minidom)�
ExpatError)�etree�)�
CONFIG_DIR�acquire_lockzve.cfgz.tmp�NNc� ��eZdZd�fd�	Z�xZS)�BadVeConfigException�Nothingc�P��t���d|����dS)Nz5Unable to parse /etc/container/ve.cfg file, message: )�super�__init__)�self�message�	__class__s  ��K/opt/cloudlinux/venv/lib64/python3.11/site-packages/clveconfig/ve_config.pyrzBadVeConfigException.__init__s4���
�����M�G�M�M�	
�	
�	
�	
�	
�)r)�__name__�
__module__�__qualname__r�
__classcell__)rs@rrrs=�������
�
�
�
�
�
�
�
�
�
rrTc�d�tdkr	|rtSt��5	tjt��}|�d��d}n5#ttttf$r}td��|�d}~wwxYw|r||fa||fcddd��S#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	�	lveconfigrzbad ve.cfg fileN)�PARSED_XML_CACHEr�xml�parse�VE_CFG_PATH�getElementsByTagName�OSError�IOErrorr�
IndexErrorr)�	use_cache�_ve_cfg�
_ve_lveconfig�es    r�get_xml_configr' s���=�(�(�Y�(���	���	&�	&�	A��i��,�,�G�#�8�8��E�E�a�H�M�M����*�j�9�	A�	A�	A�&�'8�9�9�q�@�����	A�����	6�&�
�5���
�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s4�B%�4A�B%�B�7B�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)rrrr�getroot�
ParseErrorr�str)�treer&s  r�get_xml_config_etreer-<s���
���6�6�	6��;�{�+�+�D��<�<�>�>�6�6�6�6�6�6�6�6����	6�	6�	6�&�s�1�v�v�.�.�A�5�����	6����	6�6�6�6����6�6�6�6�6�6s.�A>�,A
�
A;�A6�6A;�;A>�>B�Bc��|�d��d}||fa|�ddd���}|�dd���dd��}t	j|��}|�d�	��}|st
d
t�����ttd��5}|�
|��|���tj
|�����ddd��n#1swxYwYtjtt��dS)Nrrzutf-8�)�encoding�indent�newl�
r�	)r0z Rejected attempt to write empty �wb)rr�toprettyxml�replacer�parseString�RuntimeErrorr�open�VE_CFG_PATH_TMP�write�flush�os�fsync�fileno�rename)�xml_documentr%�
xml_string�new_xml�buf�fs      r�save_xmlrGLs[��!�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��M��K�k�K�K�L�L�L�	
�o�t�	$�	$���	�������	���	�	�	�
�����������������������������I�o�{�+�+�+�+�+s�:AD�D�D)T)r>�xml.domrr�xml.parsers.expatr�lxmlr�ve_lockrr�path�joinrr;r�	Exceptionrr'r-rG�rr�<module>rPs���
�	�	�	�"�"�"�"�"�"�(�(�(�(�(�(�������-�-�-�-�-�-�-�-��g�l�l�:�x�0�0����&��!��
�
�
�
�
�9�
�
�
�&�&�&�&�8
6�
6�
6� ,�,�,�,�,r

?>