ó u©¿Uc@s†dZddlZddlmZddlmZddlmZddlmZddl m 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 cCs4tjƒ}|dkr<tjttƒƒ|_d|_ntj|ƒ|_||_t|j ƒdkr“x$|j D]}t j j |ƒqvWnd}t |j|ƒ|_|jdkr0tjttƒƒ}t j j tj|jdtƒƒtj|dtƒ}ttdƒi|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((sdefault_xml.pyt__init__?s$    "  cCs|jS(s{The name for this object. If the xml tree is derived from a filename, the name will equal that filename. (R(R((sdefault_xml.pytnameYscCs|jS(s(The xml tree that represents this object(R (R((sdefault_xml.pyRasN( t__name__t __module__t__doc__R R RRtpropertyR R(((sdefault_xml.pyR7s  ( R#Rtsolaris_install.versionRtsolaris_install.js2ai.commonRRtlxmlRRRtobjectR(((sdefault_xml.pyts