
    x[h	                     0    S SK Jr  S SKJr   " S S5      rg)    )StringIO)chop_commentc                   B    \ rS rSrS rS rS r\S 5       rS r	S r
Srg	)
HostnameConf   c                     Xl         S U l        g N)_text	_contents)selftexts     D/usr/lib/python3/dist-packages/cloudinit/distros/parsers/hostname.py__init__HostnameConf.__init__   s    
    c                 `    U R                   c!  U R                  U R                  5      U l         g g r	   )r   _parser
   )r   s    r   parseHostnameConf.parse   s%    >>!![[4DN "r   c                 ~   U R                  5         [        5       nU R                   Hg  u  p#US:X  a  UR                  SUS   -  5        M$  US:X  a  UR                  SUS   -  5        MC  US:X  d  MK  Uu  pEUR                  U< U< S35        Mi     UR	                  5       nUR                  S5      (       d  US-  nU$ )Nblankz%s
r   all_commenthostname
)r   r   r   writegetvalueendswith)r   contents	line_type
componentsr   tails         r   __str__HostnameConf.__str__   s    

:%)^^!IG#vA78m+vA78j(#- 8T:; &4 $$&  &&Hr   c                 h    U R                  5         U R                   H  u  pUS:X  d  M  US   s  $    g )Nr   r   )r   r   )r   r   r    s      r   r   HostnameConf.hostname'   s3    

%)^^!IJ&!!}$ &4 r   c                    UR                  5       nU(       d  g U R                  5         SnU R                   H  u  p4US:X  d  M  [        U5      US'   SnM     U(       d)  U R                  R	                  S[        U5      S/45        g g )NFr   r   T )stripr   r   strappend)r   your_hostnamereplacedr   r    s        r   set_hostnameHostnameConf.set_hostname/   s{    %++-

%)^^!IJ& #M 2
1 &4 NN!!:M0BB/G"HI r   c                    / n[        5       nUR                  5        H  n[        UR                  5       5      (       d  UR	                  SU/45        M7  [        UR                  5       S5      u  pV[        U5      (       d  UR	                  SU/45        My  UR	                  SXV/45        UR                  U5        M     [        U5      S:  a  [        SU-  5      eU$ )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   HostnameConf._parse<   s    %'')Dtzz|$$$01'

c:LTt99v67NNJ56% * !#:oNOOr   )r   r
   N)__name__
__module____qualname____firstlineno__r   r   r"   propertyr   r-   r   __static_attributes__ r   r   r   r      s0    5"  Jr   r   N)ior   cloudinit.distros.parsersr   r   rB   r   r   <module>rE      s     2> >r   