Edit File: ve_config.cpython-311.pyc
� ����c|9eS�����������������������������d�dl�mZ�d�dlZd�dlmZ�d�dlmZ�d�dlm Z �ddl mZmZ�ej �����������������������������ed������������Zed z���Zd a�G�d��de������������Zdd�Zd��Zd��ZdS�)�����)�absolute_importN)�minidom)� ExpatError)�etree����)� CONFIG_DIR�acquire_lockzve.cfgz.tmp�NNc�������������������� �������e�Zd�Zd��fd� Z��xZS�)�BadVeConfigException�Nothingc������������������^������t����������t����������|����������������������������������d|z���������������d�S�)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.pyr���zBadVeConfigException.__init__���s=������� �"�D�)�)�2�2� �$� %� &�� &�� &�� &�� &�����)r ���)�__name__� __module__�__qualname__r���� __classcell__)r���s���@r���r���r������s=���������������&��&��&��&��&��&��&��&��&��&r���r���Tc������������������X����t�����������dk����r |�rt�����������S�t������������������������5�� �t����������j��������t����������������������}|���������������������d������������d���������}|�r||fa�||fcddd�������������S�#�t����������t����������t����������t����������f$�r�t����������d�������������w�xY�w#�1�swxY�w�Y���dS�)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 ���� lveconfigr���Nzbad 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�� �t����������j��������t����������������������}�|������������������������������������cddd�������������S�#�t����������j��������$�r!}t ����������t����������|�������������������������d}~ww�xY�w#�1�swxY�w�Y���dS�)z� This method works same as get_xml_config, but returns etree object :rtype: etree.ElementTree :raises: BadVeConfigException, LockFailedException N)r ���r���r���r����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 t����������z���������������t����������t����������d������������5�}|� ��������������������|�������������|������������������������������������t����������j ��������|������������������������������������������������d�d�d��������������n#�1�swxY�w�Y���t����������j��������t����������t�����������������������d�S�)Nr���r���zutf-8��)�encoding�indent�newl���� r������� )r1���z"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_xmlrH���K���sX������!�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__r���r?����xml.domr���r����xml.parsers.expatr����lxmlr����ve_lockr���r ����path�joinr���r<���r���r:���r���r'���r.���rH�����r���r����<module>rQ������s�������'��&��&��&��&��&�� � � � ��"��"��"��"��"��"��(��(��(��(��(��(��������������-��-��-��-��-��-��-��-���g�l�l�:�x�0�0����&���!���&��&��&��&��&�9��&��&��&�*��*��*��*�8 /�� /�� /� ,��,��,��,��,r���