a '¡Dg¥ ã@s*ddlmZddlmZGdd„dƒZdS)é)ÚStringIO)Ú chop_commentc@s@eZdZdd„Zdd„Zdd„Zedd„ƒZd d „Zd d „Z d S)Ú HostnameConfcCs||_d|_dS©N)Ú_textÚ _contents)ÚselfÚtext©r úF/usr/lib/python3.9/site-packages/cloudinit/distros/parsers/hostname.pyÚ__init__szHostnameConf.__init__cCs|jdur| |j¡|_dSr)rÚ_parser)rr r r Úparses zHostnameConf.parsecCs–| ¡tƒ}|jD]b\}}|dkr8| d|d¡q|dkrT| d|d¡q|dkr|\}}| d||f¡q| ¡}| d¡s’|d7}|S)NÚblankz%s rÚ all_commentÚhostnamez%s%s Ú )rrrÚwriteÚgetvalueÚendswith)rÚcontentsÚ line_typeÚ componentsrÚtailr r r Ú__str__s zHostnameConf.__str__cCs0| ¡|jD]\}}|dkr|dSqdS)Nrr)rr)rrrr r r r's zHostnameConf.hostnamecCsd| ¡}|sdS| ¡d}|jD] \}}|dkr"t|ƒ|d<d}q"|s`|j dt|ƒdgf¡dS)NFrrTÚ)ÚstriprrÚstrÚappend)rZ your_hostnameZreplacedrrr r r Ú set_hostname/s zHostnameConf.set_hostnamecCsšg}tƒ}| ¡D]j}t| ¡ƒs4| d|gf¡qt| ¡dƒ\}}t|ƒs`| d|gf¡q| d||gf¡| |¡qt|ƒdkr–td|ƒ‚|S)Nrú#rrézMultiple hostnames (%s) found!)ÚsetÚ splitlinesÚlenrrrÚaddÚIOError)rrÚentriesZhostnames_foundÚlineÚheadrr r r r <s     zHostnameConf._parseN) Ú__name__Ú __module__Ú __qualname__r rrÚpropertyrrr r r r r r s  rN)ÚiorZcloudinit.distros.parsersrrr r r r Ús