ó 'KXc@s˜ddlZddlmZddlmZddlmZddlmZej e ƒZ e d„Z d„Zd„Zd „Zd „Zd „ZdS( iÿÿÿÿN(t ResolvConf(tSysConf(tlog(tutilc Csë|s dSt|ƒ\}}d}xk|jƒD]]\}}|dkrMq/nt|ƒ}t|ƒdkrx| rxq/n|||<|d7}q/W|rçt|ƒg}|sÄ|jdtjƒƒntj|dj |ƒddƒndS(Niis i¤( tread_sysconfig_filetitemstNonetstrtlentinsertRt make_headert write_filetjoin( tfnt adjustmentst allow_emptytexiststcontentst updated_amtktvtlines((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pytupdate_sysconfig_file#s"   cCsOt}ytj|ƒjƒ}t}Wntk r>g}nX|t|ƒfS(N(tFalseRt load_filet splitlinestTruetIOErrorR(R RR((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pyR:s   cCsItjdd|gƒtj|t|ƒdƒtjdd|gƒdS(Ntchattrs-ii¤s+i(RtsubpR R(R tr_conf((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pytwrite_resolv_conf_fileGscCsy#ttj|ƒƒ}|jƒWn:tk r_tjtd|ƒtdƒ}|jƒnX|r²xI|D]>}y|j|ƒWqmtk rªtjtd|ƒqmXqmWn|rxI|D]>}y|j |ƒWq¿tk rütjtd|ƒq¿Xq¿Wnt ||ƒdS(Ns3Failed at parsing %s reverting to an empty instancetsFailed at adding nameserver %ss!Failed at adding search domain %s( RRRtparseRtlogexctLOGtadd_nameservert ValueErrortadd_search_domainR(R t dns_serverstsearch_serversRts((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pytupdate_resolve_conf_fileMs*       cCs'tdƒ}|jƒt||ƒdS(NR (RR!R(R R((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pytremove_resolve_conf_filehs  cCsRtj|ƒ}x<|D]4}|jdƒrtjtjj||ƒƒqqWdS(Ns ifcfg-eth(tostlistdirt startswithRtdel_filetpathR (t directorytfilestf((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pytremove_ifcfg_filesos (R,t%cloudinit.distros.parsers.resolv_confRt"cloudinit.distros.parsers.sys_confRt cloudinitRtloggingRt getLoggert__name__R#RRRRR*R+R4(((sH/opt/freeware/lib/python2.7/site-packages/cloudinit/distros/rhel_util.pyts