fY0c@sdZddlZddlZddlmZdddgZGdddZGd ddZd d Z Gd dde Z Gd dde Z GdddZ [GdddZGdddZdS(u4Implementation of the DOM Level 3 'LS-Load' feature.iN(u NodeFilteru DOMBuilderuDOMEntityResolveruDOMInputSourcecBs|EeZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZdZdZdZdZdZdZdS(uOptionsuFeatures object that has variables set for each DOMBuilder feature. The DOMBuilder class uses an instance of this class to pass settings to the ExpatBuilder class. iNTF(u__name__u __module__u __qualname__u__doc__u namespacesuTrueunamespace_declarationsuFalseu validationuexternal_parameter_entitiesuexternal_general_entitiesuexternal_dtd_subsetuvalidate_if_schemauvalidateudatatype_normalizationucreate_entity_ref_nodesuentitiesuwhitespace_in_element_contentucdata_sectionsucommentsucharset_overrides_xml_encodinguinfosetusupported_mediatypes_onlyuNoneu errorHandlerufilter(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuOptions s(uOptionsc Bs|EeZdZd3Zd3Zd3ZdZdZdZ dZ eee e fZ ddZ ddZ d d Zd d Zd dZddZddZddZddZddZid4gd56d6gd76d8gd96d:gd;6d<gd=6d>gd?6d@gdA6dBgdC6dDgdE6dFgdG6dHdIgdJ6dKgdL6dMgdN6dOgdP6dQgdR6dSgdT6dUgdV6dWgdX6dYgdZ6d[gd\6gd]6d^d_d`dadbdcdddedfg dg6dhgdi6djgdk6dlgdm6Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3S(nu DOMBuilderiiiicCst|_dS(N(uOptionsu_options(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu__init__9suDOMBuilder.__init__cCs|jS(N(uentityResolver(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_get_entityResolver<suDOMBuilder._get_entityResolvercCs ||_dS(N(uentityResolver(uselfuentityResolver((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_set_entityResolver>suDOMBuilder._set_entityResolvercCs|jS(N(u errorHandler(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_get_errorHandlerAsuDOMBuilder._get_errorHandlercCs ||_dS(N(u errorHandler(uselfu errorHandler((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_set_errorHandlerCsuDOMBuilder._set_errorHandlercCs|jS(N(ufilter(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_filterFsuDOMBuilder._get_filtercCs ||_dS(N(ufilter(uselfufilter((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _set_filterHsuDOMBuilder._set_filtercCs|j|r|rdpd}y|jt||f}Wn+tk rktjjd|fYqXxF|D]\}}t|j||qsWntjj dt |dS(Niiuunsupported feature: %ruunknown feature: ( usupportsFeatureu _settingsu _name_xformuKeyErroruxmludomuNotSupportedErrusetattru_optionsu NotFoundErrurepr(uselfunameustateusettingsuvalue((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu setFeatureKs  uDOMBuilder.setFeaturecCst|jt|S(N(uhasattru_optionsu _name_xform(uselfuname((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyusupportsFeatureYsuDOMBuilder.supportsFeaturecCs+t||rdpdf}||jkS(Nii(u _name_xformu _settings(uselfunameustateukey((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu canSetFeature\suDOMBuilder.canSetFeatureunamespace_declarationsiu validationuexternal_general_entitiesuexternal_parameter_entitiesuvalidate_if_schemaucreate_entity_ref_nodesuentitiesuwhitespace_in_element_contentucdata_sectionsucommentsucharset_overrides_xml_encodinguinfosetudatatype_normalizationusupported_mediatypes_onlyu namespacescCst|}yt|j|SWntk r|dkr|j}|jo|jo|jo|jo|jp|j p|j p|j p|j St jjdt|YnXdS(Nuinfosetufeature %s not known(u _name_xformugetattru_optionsuAttributeErrorudatatype_normalizationuwhitespace_in_element_contentucommentsucharset_overrides_xml_encodingunamespace_declarationsuvalidate_if_schemaucreate_entity_ref_nodesuentitiesucdata_sectionsuxmludomu NotFoundErrurepr(uselfunameuxnameuoptions((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu getFeatures             uDOMBuilder.getFeaturecCsC|jr!|jjd|}ntjd|}|j|S(N(uentityResolveru resolveEntityuNoneuDOMEntityResolveruparse(uselfuuriuinput((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuparseURIs uDOMBuilder.parseURIcCs|tj|j}|j|_|j|_|j}|dkrl|jrlddl}|jj |j}n|j ||S(Ni( ucopyu_optionsufilteru errorHandleru byteStreamuNoneusystemIduurllib.requesturequestuurlopenu_parse_bytestream(uselfuinputuoptionsufpuurllib((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuparses    uDOMBuilder.parsecCs.||jkrtdntddS(Nunot a legal actionuHaven't written this yet...(u_legal_actionsu ValueErroruNotImplementedError(uselfuinputucnodeuaction((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuparseWithContextsuDOMBuilder.parseWithContextcCs.ddl}|jjj|}|j|S(Ni(uxml.dom.expatbuilderudomu expatbuilderu makeBuilderu parseFile(uselfustreamuoptionsuxmlubuilder((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_parse_bytestreams uDOMBuilder._parse_bytestreamN(unamespace_declarationsi(unamespace_declarationsi(unamespace_declarationsi(unamespace_declarationsi(u validationi(u validationi(uexternal_general_entitiesi(uexternal_general_entitiesi(uexternal_general_entitiesi(uexternal_general_entitiesi(uexternal_parameter_entitiesi(uexternal_parameter_entitiesi(uexternal_parameter_entitiesi(uexternal_parameter_entitiesi(uvalidate_if_schemai(uvalidate_if_schemai(ucreate_entity_ref_nodesi(ucreate_entity_ref_nodesi(ucreate_entity_ref_nodesi(ucreate_entity_ref_nodesi(ucreate_entity_ref_nodesi(uentitiesi(uentitiesi(uentitiesi(uentitiesi(uwhitespace_in_element_contenti(uwhitespace_in_element_contenti(uwhitespace_in_element_contenti(uwhitespace_in_element_contenti(ucdata_sectionsi(ucdata_sectionsi(ucdata_sectionsi(ucdata_sectionsi(ucommentsi(ucommentsi(ucommentsi(ucommentsi(ucharset_overrides_xml_encodingi(ucharset_overrides_xml_encodingi(ucharset_overrides_xml_encodingi(ucharset_overrides_xml_encodingi(uinfoseti(unamespace_declarationsi(uvalidate_if_schemai(ucreate_entity_ref_nodesi(uentitiesi(ucdata_sectionsi(udatatype_normalizationi(uwhitespace_in_element_contenti(ucommentsi(ucharset_overrides_xml_encodingi(uinfoseti(usupported_mediatypes_onlyi(usupported_mediatypes_onlyi(u namespacesi(u namespacesi(u namespacesi(u namespacesi(u__name__u __module__u __qualname__uNoneuentityResolveru errorHandlerufilteruACTION_REPLACEuACTION_APPEND_AS_CHILDRENuACTION_INSERT_AFTERuACTION_INSERT_BEFOREu_legal_actionsu__init__u_get_entityResolveru_set_entityResolveru_get_errorHandleru_set_errorHandleru _get_filteru _set_filteru setFeatureusupportsFeatureu canSetFeatureu _settingsu getFeatureuparseURIuparseuparseWithContextu_parse_bytestream(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu DOMBuilder,sv                                      cCs|jjddS(Nu-u_(ulowerureplace(uname((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _name_xformsu _name_xformcBsJ|EeZdZd ZddZddZddZdd Zd S( uDOMEntityResolveru_openerc Cst}||_||_|jj||_|j||_ddl}ddl }|j j |}|\}}} } } } | r| j d r|j | d} ||| | | | f}|j j||_n|S(Niu/(uDOMInputSourceupublicIdusystemIdu _get_openeruopenu byteStreamu_guess_media_encodinguencodingu posixpathu urllib.parseuparseuurlparseuendswithudirnameu urlunparseubaseURI( uselfupublicIdusystemIdusourceu posixpathuurllibupartsuschemeunetlocupathuparamsuqueryufragment((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu resolveEntitys   uDOMEntityResolver.resolveEntityc Cs:y |jSWn(tk r5|j|_|jSYnXdS(N(u_openeruAttributeErroru_create_opener(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_openers   uDOMEntityResolver._get_openercCsddl}|jjS(Ni(uurllib.requesturequestu build_opener(uselfuurllib((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_create_openers u DOMEntityResolver._create_openercCsb|jj}d|kr^x@|jD]/}|jdr(|jdddjSq(WndS(Nu Content-Typeucharset=u=i(u byteStreamuinfougetplistu startswithusplitulower(uselfusourceuinfouparam((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_guess_media_encodings  u'DOMEntityResolver._guess_media_encodingN(u_opener(u__name__u __module__u __qualname__u __slots__u resolveEntityu _get_openeru_create_openeru_guess_media_encoding(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuDOMEntityResolvers    cBs|EeZdZd'Zdd Zd d Zd d ZddZddZddZ ddZ ddZ ddZ ddZ ddZddZd d!Zd"d#Zd$d%Zd&S((uDOMInputSourceu byteStreamucharacterStreamu stringDatauencodingupublicIdusystemIdubaseURIcCsCd|_d|_d|_d|_d|_d|_d|_dS(N(uNoneu byteStreamucharacterStreamu stringDatauencodingupublicIdusystemIdubaseURI(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu__init__s      uDOMInputSource.__init__cCs|jS(N(u byteStream(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_get_byteStream suDOMInputSource._get_byteStreamcCs ||_dS(N(u byteStream(uselfu byteStream((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_set_byteStreamsuDOMInputSource._set_byteStreamcCs|jS(N(ucharacterStream(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_get_characterStreamsu#DOMInputSource._get_characterStreamcCs ||_dS(N(ucharacterStream(uselfucharacterStream((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_set_characterStreamsu#DOMInputSource._set_characterStreamcCs|jS(N(u stringData(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_get_stringDatasuDOMInputSource._get_stringDatacCs ||_dS(N(u stringData(uselfudata((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_set_stringDatasuDOMInputSource._set_stringDatacCs|jS(N(uencoding(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_encodingsuDOMInputSource._get_encodingcCs ||_dS(N(uencoding(uselfuencoding((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _set_encodingsuDOMInputSource._set_encodingcCs|jS(N(upublicId(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_publicId!suDOMInputSource._get_publicIdcCs ||_dS(N(upublicId(uselfupublicId((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _set_publicId#suDOMInputSource._set_publicIdcCs|jS(N(usystemId(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_systemId&suDOMInputSource._get_systemIdcCs ||_dS(N(usystemId(uselfusystemId((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _set_systemId(suDOMInputSource._set_systemIdcCs|jS(N(ubaseURI(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_baseURI+suDOMInputSource._get_baseURIcCs ||_dS(N(ubaseURI(uselfuuri((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _set_baseURI-suDOMInputSource._set_baseURIN(u byteStreamucharacterStreamu stringDatauencodingupublicIdusystemIdubaseURI(u__name__u __module__u __qualname__u __slots__u__init__u_get_byteStreamu_set_byteStreamu_get_characterStreamu_set_characterStreamu_get_stringDatau_set_stringDatau _get_encodingu _set_encodingu _get_publicIdu _set_publicIdu _get_systemIdu _set_systemIdu _get_baseURIu _set_baseURI(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuDOMInputSources"             cBs_|EeZdZdZdZdZdZdZej Z ddZ dd Z d d Z d S( uDOMBuilderFilteruSElement filter which can be used to tailor construction of a DOM instance. iiiicCs|jS(N(u whatToShow(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu_get_whatToShowBsu DOMBuilderFilter._get_whatToShowcCs|jS(N(u FILTER_ACCEPT(uselfuelement((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu acceptNodeEsuDOMBuilderFilter.acceptNodecCs|jS(N(u FILTER_ACCEPT(uselfuelement((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyustartContainerHsuDOMBuilderFilter.startContainerN(u__name__u __module__u __qualname__u__doc__u FILTER_ACCEPTu FILTER_REJECTu FILTER_SKIPuFILTER_INTERRUPTu NodeFilteruSHOW_ALLu whatToShowu_get_whatToShowu acceptNodeustartContainer(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuDOMBuilderFilter1s   uDOMBuilderFiltercBsh|EeZdZdZdZddZddZddZdd Z d d Z d d Z dS(u DocumentLSu=Mixin to create documents that conform to the load/save spec.cCsdS(NF(uFalse(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _get_asyncSsuDocumentLS._get_asynccCs|rtjjdndS(Nu.asynchronous document loading is not supported(uxmludomuNotSupportedErr(uselfuasync((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu _set_asyncUs uDocumentLS._set_asynccCstddS(Nu'haven't figured out what this means yet(uNotImplementedError(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuabortZsuDocumentLS.abortcCstddS(Nuhaven't written this yet(uNotImplementedError(uselfuuri((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuload`suDocumentLS.loadcCstddS(Nuhaven't written this yet(uNotImplementedError(uselfusource((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuloadXMLcsuDocumentLS.loadXMLcCs@|dkr|}n!|j|k r6tjjn|jS(N(uNoneu ownerDocumentuxmludomuWrongDocumentErrutoxml(uselfusnode((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyusaveXMLfs   uDocumentLS.saveXMLNF( u__name__u __module__u __qualname__u__doc__uFalseuasyncu _get_asyncu _set_asyncuabortuloaduloadXMLusaveXML(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyu DocumentLSNs     u DocumentLScBsD|EeZdZdZdZddZddZddZd S( uDOMImplementationLSiicCsk|dk r!tjjdn||jkr7tS||jkr[tjjdntddS(NuschemaType not yet supportedu'asynchronous builders are not supporteduunknown value for mode(uNoneuxmludomuNotSupportedErruMODE_SYNCHRONOUSu DOMBuilderuMODE_ASYNCHRONOUSu ValueError(uselfumodeu schemaType((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyucreateDOMBuilderrs     u$DOMImplementationLS.createDOMBuildercCstddS(Nu-the writer interface hasn't been written yet!(uNotImplementedError(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyucreateDOMWriter}su#DOMImplementationLS.createDOMWritercCstS(N(uDOMInputSource(uself((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyucreateDOMInputSourcesu(DOMImplementationLS.createDOMInputSourceN(u__name__u __module__u __qualname__uMODE_SYNCHRONOUSuMODE_ASYNCHRONOUSucreateDOMBuilderucreateDOMWriterucreateDOMInputSource(u __locals__((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyuDOMImplementationLSns  uDOMImplementationLS(u__doc__ucopyuxml.domuxmluxml.dom.NodeFilteru NodeFilteru__all__uOptionsu DOMBuilderu _name_xformuobjectuDOMEntityResolveruDOMInputSourceuDOMBuilderFilteru DocumentLSuDOMImplementationLS(((u7/opt/alt/python33/lib64/python3.3/xml/dom/xmlbuilder.pyus    ,1