ó 'KXc@s:ddlmZddlmZdefd„ƒYZdS(iĸĸĸĸ(tStringIO(t chop_commentt HostsConfcBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs||_d|_dS(N(t_texttNonet _contents(tselfttext((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt__init__s cCs+|jdkr'|j|jƒ|_ndS(N(RRt_parseR(R((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pytparse scCsy|jƒg}xb|jD]W\}}|dkr|\}}t|ƒrq|d|krq|j|dƒqqqqW|S(Ntoptionii(R Rtlentappend(Rtiptoptionst line_typet componentstpiecest_tail((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt get_entry$s   cCsŊ|jƒg}x|jD]„\}}|dkrK|j||fƒqq|\}}t|ƒrv|d|krvqt|ƒr|j|t|ƒfƒqqW||_dS(NR i(R RR R tlist(RRt n_entriesRRRR((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt del_entries.s     cGs:|jƒ|jjd||gt|ƒdffƒdS(NR t(R RR R(RRtcanonical_hostnametaliases((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt add_entry=s  cCsīg}x§|jƒD]™}t|jƒƒsG|jd|gfƒqnt|jƒdƒ\}}t|ƒsŠ|jd|gfƒqn|jd|jdƒ|gfƒqW|S(Ntblankt#t all_commentR (t splitlinesR tstripR RtsplitR(Rtcontentstentriestlinetheadttail((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyR Bs &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 iRR s s%s%s (R RRtwritetstrtjointgetvalue(RR"RRRR&tp((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyt__str__Os      ( t__name__t __module__RR RRRR R,(((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyRs     N(Rtcloudinit.distros.parsersRtobjectR(((sL/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/parsers/hosts.pyts