
    x[h	                     0    d dl mZ d dlmZ  G d d      Zy)    )StringIO)chop_commentc                   :    e Zd Zd Zd Zd Zed        Zd Zd Z	y)HostnameConfc                      || _         d | _        y N)_text	_contents)selftexts     D/usr/lib/python3/dist-packages/cloudinit/distros/parsers/hostname.py__init__zHostnameConf.__init__   s    
    c                 ^    | j                   !| j                  | j                        | _         y y r   )r
   _parser	   )r   s    r   parsezHostnameConf.parse   s%    >>!![[4DN "r   c                 d   | j                          t               }| j                  D ]`  \  }}|dk(  r|j                  d|d   z         #|dk(  r|j                  d|d   z         @|dk(  sF|\  }}|j                  ||d       b |j	                         }|j                  d      s|dz  }|S )Nblankz%s
r   all_commenthostname
)r   r   r
   writegetvalueendswith)r   contents	line_type
componentsr   tails         r   __str__zHostnameConf.__str__   s    

:%)^^ 	<!IzG#vA78m+vA78j(#- 48T:;	< $$&  &Hr   c                 d    | j                          | j                  D ]  \  }}|dk(  s|d   c S  y )Nr   r   )r   r
   )r   r   r   s      r   r   zHostnameConf.hostname'   s:    

%)^^ 	%!IzJ&!!}$	% r   c                     |j                         }|sy | j                          d}| j                  D ]  \  }}|dk(  st        |      |d<   d} |s)| j                  j	                  dt        |      dgf       y y )NFr   r   T )stripr   r
   strappend)r   your_hostnamereplacedr   r   s        r   set_hostnamezHostnameConf.set_hostname/   s    %++-

%)^^ 	 !IzJ& #M 2
1	  NN!!:M0BB/G"HI r   c                    g }t               }|j                         D ]  }t        |j                               s|j	                  d|gf       1t        |j                         d      \  }}t        |      s|j	                  d|gf       n|j	                  d||gf       |j                  |        t        |      dkD  rt        d|z        |S )Nr   #r   r      zMultiple hostnames (%s) found!)set
splitlineslenr#   r%   r   addIOError)r   r   entrieshostnames_foundlineheadr   s          r   r   zHostnameConf._parse<   s    %'') 		&Dtzz|$$01'

c:LT4t9v67NNJt56%		& !#:oNOOr   N)
__name__
__module____qualname__r   r   r   propertyr   r(   r    r   r   r   r      s0    5"  Jr   r   N)ior   cloudinit.distros.parsersr   r   r9   r   r   <module>r<      s     2> >r   