3 \¼me« ã@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 ú/usr/lib/python3.6/hostname.pyÚ__init__szHostnameConf.__init__cCs|jdkr|j|jƒ|_dS)N)rÚ_parser)rr r r Úparses zHostnameConf.parsecCsš|jƒtƒ}xl|jD]b\}}|dkr:|jd|dƒq|dkrV|jd|dƒq|dkr|\}}|jd||fƒqW|jƒ}|jdƒs–|d7}|S)NÚblankz%s rÚ all_commentÚhostnamez%s%s Ú )r rrÚwriteÚgetvalueÚendswith)rÚcontentsÚ line_typeÚ componentsrÚtailr r r Ú__str__s zHostnameConf.__str__cCs0|jƒx"|jD]\}}|dkr|dSqWdS)Nrr)r r)rrrr r r r's  zHostnameConf.hostnamecCsh|jƒ}|sdS|jƒd}x*|jD] \}}|dkr$t|ƒ|d<d}q$W|sd|jjdt|ƒdgfƒdS)NFrrTÚ)Ústripr rÚstrÚappend)rZ your_hostnameZreplacedrrr r r Ú set_hostname/s zHostnameConf.set_hostnamecCsžg}tƒ}xv|jƒD]j}t|jƒƒs6|jd|gfƒqt|jƒdƒ\}}t|ƒsb|jd|gfƒq|jd||gfƒ|j|ƒqWt|ƒdkrštd|ƒ‚|S)Nrú#rrézMultiple hostnames (%s) found!)ÚsetÚ splitlinesÚlenrrrÚaddÚIOError)rrZentriesZhostnames_foundÚlineÚheadrr r r r <s   zHostnameConf._parseN) Ú__name__Ú __module__Ú __qualname__r r rÚpropertyrrr r r r r r s   rN)ÚiorZcloudinit.distros.parsersrrr r r r Ús