%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/cloudinit/distros/parsers/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/cloudinit/distros/parsers/__pycache__/resolv_conf.cpython-312.pyc

�

���fw��h�ddlZddlmZddlmZddlmZeje�Z	Gd�d�Z
y)�N)�StringIO)�util)�chop_commentc��eZdZd�Zd�Zed��Zed��Zejd��Zed��Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zy
)�
ResolvConfc� �||_d|_y�N)�_text�	_contents)�self�texts  �G/usr/lib/python3/dist-packages/cloudinit/distros/parsers/resolv_conf.py�__init__zResolvConf.__init__s����
����c�^�|j�!|j|j�|_yyr	)r�_parser
�rs r�parsezResolvConf.parses%���>�>�!�!�[�[����4�D�N�"rc�D�|j�|jd�S)N�
nameserver�r�_retr_optionrs r�nameserverszResolvConf.nameserverss���
�
��� � ��.�.rc�T�|j�|jd�}|r|dSy)N�domainrr)r�dms  r�local_domainzResolvConf.local_domains*���
�
��
�
�
�x�
(��
��a�5�L�rc��|j�|jd�|jjddt	|�dgf�|S)Nr�option�)r�_remove_optionr�append�str)rrs  rrzResolvConf.local_domain's@���
�
�����H�%������x�(�C��K��)D�E�F��
rc��|j�|jd�}g}|D],}|jd�D]}|s�|j|���.|S)N�search)rr�splitr")r�current_sds�flat_sds�sdlist�sds     r�search_domainszResolvConf.search_domains.s]���
�
���'�'��1����!�	(�F��l�l�4�(�
(����O�O�B�'�
(�	(��rc�T�|j�t�}|jD]p\}}|dk(r|jd��|dk(r|jd|dz��:|dk(s�@|\}}}|�d|��}t	|�r||z
}|jd|z��r|j�S)N�blank�
�all_commentz%s
rr� )rrr�write�len�getvalue)r�contents�	line_type�
components�cfg_opt�	cfg_value�comment_tail�lines        r�__str__zResolvConf.__str__9s����
�
���:��%)�^�^�
	0�!�I�z��G�#����t�$��m�+����v��A��7�8��h�&�5?�2��)�\�")�9�5���|�$��L�(�D����v���/�
	0�� � �"�"rc�x�g}|jD](\}}|dk(s�|\}}}||k(s�|j|��*|S)Nr�rr")r�opt_name�foundr5r6r7r8�
_comment_tails        rrzResolvConf._retr_optionIsN����%)�^�^�	,�!�I�z��H�$�6@�3��)�]��h�&��L�L��+�		,�
�rc�^�|j�|jd�}t|�}|jt	|��tj|�}t|�t|�k(r|S|jd�|D]"}|jjdd|dgf��$|S)Nrrr )
rr�listr"r#r�	uniq_listr2r!r)r�ns�
current_ns�new_ns�ns     r�add_nameserverzResolvConf.add_nameserverRs����
�
���&�&�|�4�
��j�!���
�
�c�"�g������'���v�;�#�j�/�)������L�)��	E�A��N�N�!�!�8�l�A�r�-B�"C�D�	E��
rc�x���fd�}g}|jD]}||�r�|j|��||_y)Nc�4��|\}}|dk7ry|\}}}|�k7ryy)NrFT�)�itemr5r6r7�
_cfg_valuer@r>s      �r�
remove_optz-ResolvConf._remove_option.<locals>.remove_opt`s2���$(�!�I�z��H�$��3=�0�W�j�-��(�"��rr=)rr>rN�new_contents�cs `   rr!zResolvConf._remove_option_s@���	������	'�A��a�=��#�#�A�&�	'�&��rc��|j}t|�}|jt|��t	j
|�}t
|�t
|�k(r|St
|�dk\rtd|z��dj|�}t
|�dkDrtd|z��|jd�|jjdd|dgf�|S)	N�z8Adding %r would go beyond the '6' maximum search domainsr0�zEAdding %r would go beyond the 256 maximum search list character limitr%rr )r+rBr"r#rrCr2�
ValueError�joinr!r)r�
search_domainr(�new_sds�s_lists     r�add_search_domainzResolvConf.add_search_domainos����&�&���x�.�����s�=�)�*��.�.��)���x�=�C��L�(��N��x�=�A���J� �"��
����'�"���v�;����:�=J�L��
�	
���H�%������x�(�F�B�)?�@�A��rc���g}t|j��D]�\}}|j�}|s|jd|gf��-t	|d�\}}t|j��s|jd|gf��j|sd}	|j
dd�\}}	|dvrtd|z��|jd	||	|gf���|S#ttf$r}
td|dzz�|
�d}
~
wwxYw)
Nr-z;#r/r �z)Incorrectly formatted resolv.conf line %s)rrr%�sortlist�optionsz Unexpected resolv.conf option %sr)
�	enumerate�
splitlines�stripr"rr2r&�
IndexErrorrT�IOError)rr4�entries�ir:�sline�head�tailr7�
cfg_values�es           rrzResolvConf._parse�s���� ��!4�!4�!6�7�	D�G�A�t��J�J�L�E������$��0�1��'��d�3�L�T�4��t�z�z�|�$����
��v�6�7�����
�(,�
�
�4��(;�%��*�
����@�G�L�M�M��N�N�H�w�
�D�&A�B�C�3	D�4����
�+�
��?�1�q�5�I�����
�s�C�C2�C-�-C2N)�__name__�
__module__�__qualname__rr�propertyrr�setterr+r;rrHr!rYrrKrrrrs����5��/��/���������������#� ��&� �0rr)�logging�ior�	cloudinitr�cloudinit.distros.parsersr�	getLoggerrj�LOGrrKrr�<module>rus1�����2��g����!��R�Rr

Zerion Mini Shell 1.0