HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/cloudinit/distros/parsers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cloudinit/distros/parsers/__pycache__/hostname.cpython-312.pyc
�

�f�	��0�ddlmZddlmZGd�d�Zy)�)�StringIO)�chop_commentc�:�eZdZd�Zd�Zd�Zed��Zd�Zd�Z	y)�HostnameConfc� �||_d|_y�N)�_text�	_contents)�self�texts  �D/usr/lib/python3/dist-packages/cloudinit/distros/parsers/hostname.py�__init__zHostnameConf.__init__s����
����c�^�|j�!|j|j�|_yyr)r
�_parser	)rs r
�parsezHostnameConf.parses%���>�>�!�!�[�[����4�D�N�"rc�d�|j�t�}|jD]`\}}|dk(r|jd|dz��#|dk(r|jd|dz��@|dk(s�F|\}}|j|�|�d���b|j	�}|jd�s|dz
}|S)N�blankz%s
r�all_comment�hostname�
)rrr
�write�getvalue�endswith)r�contents�	line_type�
componentsr�tails      r
�__str__zHostnameConf.__str__s����
�
���:��'+�~�~�	<�#�Y�
��G�#����v��A��7�8��m�+����v��A��7�8��j�(�#-� ��4����8�T�:�;�	<��$�$�&��� � ��&����H��rc�d�|j�|jD]\}}|dk(s�|dcSy)Nrr)rr
)rrrs   r
rzHostnameConf.hostname's:���
�
��'+�~�~�	%�#�Y�
��J�&�!�!�}�$�	%�rc��|j�}|sy|j�d}|jD]\}}|dk(s�t|�|d<d}�|s)|jj	dt|�dgf�yy)NFrrT�)�striprr
�str�append)r�
your_hostname�replacedrrs     r
�set_hostnamezHostnameConf.set_hostname/s���%�+�+�-�
����
�
����'+�~�~�	 �#�Y�
��J�&� #�M� 2�
�1�
���	 ���N�N�!�!�:��M�0B�B�/G�"H�I�rc��g}t�}|j�D]�}t|j��s|j	d|gf��1t|j�d�\}}t|�s|j	d|gf��n|j	d||gf�|j
|���t|�dkDrtd|z��|S)Nr�#rr�zMultiple hostnames (%s) found!)�set�
splitlines�lenr#r%r�add�IOError)rr�entries�hostnames_found�line�headrs       r
rzHostnameConf._parse<s������%���'�'�)�		&�D��t�z�z�|�$�����$��0�1��'��
�
��c�:�L�T�4��t�9����
��v�6�7���N�N�J��t��5�6�����%�		&����!�#��:�o�N�O�O��rN)
�__name__�
__module__�__qualname__rrr�propertyrr(r�rr
rr
s0���5��"����J�rrN)�ior�cloudinit.distros.parsersrrr9rr
�<module>r<s���2�>�>r