o x[h¥ ã@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 úD/usr/lib/python3/dist-packages/cloudinit/distros/parsers/hostname.pyÚ__init__s zHostnameConf.__init__cCs |jdur| |j¡|_dSdSr)rÚ_parser)rr r r Úparses ÿzHostnameConf.parsecCs–| ¡tƒ}|jD]1\}}|dkr| d|d¡q |dkr*| d|d¡q |dkr;|\}}| d||f¡q | ¡}| d¡sI|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.hostnamecCsh| ¡}|sdS| ¡d}|jD]\}}|dkr!t|ƒ|d<d}q|s2|j dt|ƒdgf¡dSdS)NFrrTÚ)ÚstriprrÚstrÚappend)rÚ your_hostnameÚreplacedrrr r r Ú set_hostname/s €ÿzHostnameConf.set_hostnamecCsšg}tƒ}| ¡D]5}t| ¡ƒs| d|gf¡q t| ¡dƒ\}}t|ƒs0| d|gf¡q | d||gf¡| |¡q t|ƒdkrKtd|ƒ‚|S)Nrú#rrézMultiple hostnames (%s) found!)ÚsetÚ splitlinesÚlenrrrÚaddÚIOError)rrÚentriesÚhostnames_foundÚlineÚheadrr r r r <s     zHostnameConf._parseN) Ú__name__Ú __module__Ú __qualname__r rrÚpropertyrr!r r r r r r s  rN)ÚiorÚcloudinit.distros.parsersrrr r r r Ús