Ñò u©¿Uc @s†dZddkZddklZddklZddklZddklZddk l Z deZ d e fd „ƒYZ dS( sc Class to handle activies associated with reading and modifying default xml used by the installer iÿÿÿÿN(tDTD_VERSION_AI(t_(tfetch_xpath_node(tetree(tStringIOs@ tXMLDefaultDatacBsAeZdZdZdZd„Zed„ƒZed„ƒZ RS(sXThe default xml data object that all work on the profiles is performed against cCs:tiƒ}|djo%tittƒƒ|_d|_nti|ƒ|_||_t|i ƒdjo(x%|i D]}t i i |ƒqyWnd}t |i|ƒ|_|idjottittƒƒ}t i i ti|idtƒƒti|dtƒ}ttdƒh|d6|d6ƒ‚ndS(NtDEFAULT_XML_EMPTYis/auto_install/ai_instancet pretty_prints] not found: %(filename)s does not conform to the expected layout of: %(layout)stfilenametlayout(Rt XMLParsertNonetparseRRt_treet_nametlent error_logtsyststderrtwriteRt _ai_instancettostringtTruet ValueErrorR(tselftdefault_xml_filenametparserterrtxpathttreetexpected_layout((s../default_xml.pyt__init__?s&     "  cCs|iS(s{The name for this object. If the xml tree is derived from a filename, the name will equal that filename. (R(R((s../default_xml.pytnameYscCs|iS(s(The xml tree that represents this object(R (R((s../default_xml.pyRasN( t__name__t __module__t__doc__R R RRtpropertyR R(((s../default_xml.pyR7s  ( R#Rtsolaris_install.versionRtsolaris_install.js2ai.commonRRtlxmlRRRtobjectR(((s../default_xml.pyts