�
oB�]c@s:ddlmZddlmZdefd��YZdS(i����(tStringIO(tchop_commentt HostsConfcBsGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCs||_d|_dS(N(t_texttNonet _contents(tselfttext((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt__init__s cCs+|jdkr'|j|j�|_ndS(N(RRt_parseR(R((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pytparsescCsy|j�g}xb|jD]W\}}|dkr|\}}t|�rq|d|krq|j|d�qqqqW|S(Ntoptionii(R
Rtlentappend(Rtiptoptionst line_typet
componentstpiecest_tail((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt get_entrys
cCs�|j�g}x�|jD]�\}}|dkrK|j||f�qq|\}}t|�rv|d|krvqt|�r|j|t|�f�qqW||_dS(NRi(R
RR
Rtlist(RRt n_entriesRRRR((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pytdel_entries"s
cGs:|j�|jjd||gt|�dff�dS(NRt(R
RR
R(RRtcanonical_hostnametaliases((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt add_entry1s
cCs�g}x�|j�D]�}t|j��sG|jd|gf�qnt|j�d�\}}t|�s�|jd|gf�qn|jd|jd�|gf�qW|S(Ntblankt#tall_commentR(t
splitlinesRtstripR
RtsplitR(Rtcontentstentriestlinetheadttail((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyR 6s&cCs�|j�t�}x�|jD]�\}}|dkrM|jd|d�q|dkrq|jd|d�q|dkr|\}}g|D]}t|�^q�}dj|�}|jd||f�qqW|j�S(NRs%s
iRRs s%s%s
(R
RRtwritetstrtjointgetvalue(RR"RRRR&tp((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt__str__Cs
( t__name__t
__module__RR
RRRR R,(((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyRs
N(tsixRtcloudinit.distros.parsersRtobjectR(((sC/usr/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt<module>s |