a DOgc0@sddlZddlZddlmZgdZGdddZGdddZdd ZGd d d e Z Gd d d e Z GdddZ [GdddZ GdddZdS)N) NodeFilter) DOMBuilderDOMEntityResolverDOMInputSourcec@sXeZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZdZdZdZdS)OptionsTFN)__name__ __module__ __qualname__ namespacesnamespace_declarations validationexternal_parameter_entitiesexternal_general_entitiesZexternal_dtd_subsetvalidate_if_schemaZvalidatedatatype_normalizationcreate_entity_ref_nodesentitieswhitespace_in_element_contentcdata_sectionscommentscharset_overrides_xml_encodinginfosetsupported_mediatypes_only errorHandlerfilterrr7/opt/alt/python39/lib64/python3.9/xml/dom/xmlbuilder.pyr s& rc@seZdZdZdZdZdZdZdZdZ eeee fZ ddZ dd Z d d Z d d ZddZddZddZddZddZddZdgdgdgdgdgdgd gd!gd"gd#gd"d$gd%gd&gd'gd(gd)gd*gd+gd,gd-gggd.d/gd0gd1gd2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<ZdS)=rNrcCs t|_dSN)r_optionsselfrrr__init__9szDOMBuilder.__init__cCs|jSr!entityResolverr#rrr_get_entityResolver<szDOMBuilder._get_entityResolvercCs ||_dSr!r&)r$r'rrr_set_entityResolver>szDOMBuilder._set_entityResolvercCs|jSr!rr#rrr_get_errorHandlerAszDOMBuilder._get_errorHandlercCs ||_dSr!r*)r$rrrr_set_errorHandlerCszDOMBuilder._set_errorHandlercCs|jSr!rr#rrr _get_filterFszDOMBuilder._get_filtercCs ||_dSr!r-)r$rrrr _set_filterHszDOMBuilder._set_filtercCs||rr|rdpd}z|jt||f}Wn&tyRtjd|fdYq0|D]\}}t|j||qXntj dt |dS)Nrrzunsupported feature: %rzunknown feature: ) supportsFeature _settings _name_xformKeyErrorxmldomNotSupportedErrsetattrr" NotFoundErrrepr)r$namestateZsettingsvaluerrr setFeatureKs    zDOMBuilder.setFeaturecCst|jt|Sr!)hasattrr"r2)r$r:rrrr0YszDOMBuilder.supportsFeaturecCst||rdpdf}||jvS)Nrr)r2r1)r$r:r;keyrrr canSetFeature\szDOMBuilder.canSetFeaturer rr rr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr) rArHrIrKrO)rrrNrRrTrrr rr r)rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrT)rr)rrrUrVrWcCst|}zt|j|WSty|dkrn|j}|joh|joh|joh|joh|jpf|j pf|j pf|j pf|j YSt jdt|Yn0dS)Nrzfeature %s not known)r2getattrr"AttributeErrorrrrrr rrrrr4r5r8r9)r$r:Zxnameoptionsrrr getFeatures0  zDOMBuilder.getFeaturecCs.|jr|jd|}ntd|}||Sr!)r' resolveEntityrparse)r$uriinputrrrparseURIszDOMBuilder.parseURIcCsRt|j}|j|_|j|_|j}|durF|jrFddl}|j|j}| ||SNr) copyr"rr byteStreamsystemIdurllib.requestrequestZurlopen_parse_bytestream)r$r_rZfpurllibrrrr]s zDOMBuilder.parsecCs||jvrtdtddS)Nznot a legal actionzHaven't written this yet...)_legal_actions ValueErrorNotImplementedError)r$r_ZcnodeactionrrrparseWithContexts zDOMBuilder.parseWithContextcCs ddl}|jj|}||Sra)Zxml.dom.expatbuilderr5Z expatbuilderZ makeBuilderZ parseFile)r$streamrZr4ZbuilderrrrrgszDOMBuilder._parse_bytestream)rr r r'rrZACTION_REPLACEZACTION_APPEND_AS_CHILDRENZACTION_INSERT_AFTERZACTION_INSERT_BEFORErjr%r(r)r+r,r.r/r=r0r@r1r[r`r]rnrgrrrrr,s  = rcCs|ddS)N-_)lowerreplace)r:rrrr2sr2c@s0eZdZdZddZddZddZdd Zd S) r)_openerc Cst}||_||_|||_|||_ddl}ddl }|j |}|\}}} } } } | r| ds| | d} ||| | | | f}|j ||_|S)Nr/)rpublicIdrd _get_openeropenrc_guess_media_encodingencoding posixpathZ urllib.parser]ZurlparseendswithdirnameZ urlunparsebaseURI) r$rvrdsourcer{ripartsZschemeZnetlocpathparamsZqueryZfragmentrrrr\s  zDOMEntityResolver.resolveEntitycCs0z|jWSty*||_|jYS0dSr!)rtrY_create_openerr#rrrrws   zDOMEntityResolver._get_openercCsddl}|jSra)rerfZ build_opener)r$rirrrrsz DOMEntityResolver._create_openercCsF|j}d|vrB|D]&}|dr|dddSqdS)Nz Content-Typezcharset==r)rcinfoZgetplist startswithsplitrr)r$rrZparamrrrrys    z'DOMEntityResolver._guess_media_encodingN)rr r __slots__r\rwrryrrrrrs rc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd S)!rrccharacterStream stringDatarzrvrdr~cCs.d|_d|_d|_d|_d|_d|_d|_dSr!rr#rrrr%szDOMInputSource.__init__cCs|jSr!rcr#rrr_get_byteStream szDOMInputSource._get_byteStreamcCs ||_dSr!r)r$rcrrr_set_byteStreamszDOMInputSource._set_byteStreamcCs|jSr!rr#rrr_get_characterStreamsz#DOMInputSource._get_characterStreamcCs ||_dSr!r)r$rrrr_set_characterStreamsz#DOMInputSource._set_characterStreamcCs|jSr!rr#rrr_get_stringDataszDOMInputSource._get_stringDatacCs ||_dSr!r)r$datarrr_set_stringDataszDOMInputSource._set_stringDatacCs|jSr!rzr#rrr _get_encodingszDOMInputSource._get_encodingcCs ||_dSr!r)r$rzrrr _set_encodingszDOMInputSource._set_encodingcCs|jSr!rvr#rrr _get_publicId!szDOMInputSource._get_publicIdcCs ||_dSr!r)r$rvrrr _set_publicId#szDOMInputSource._set_publicIdcCs|jSr!rdr#rrr _get_systemId&szDOMInputSource._get_systemIdcCs ||_dSr!r)r$rdrrr _set_systemId(szDOMInputSource._set_systemIdcCs|jSr!r~r#rrr _get_baseURI+szDOMInputSource._get_baseURIcCs ||_dSr!rr$r^rrr _set_baseURI-szDOMInputSource._set_baseURIN)rr r rr%rrrrrrrrrrrrrrrrrrrs  rc@s:eZdZdZdZdZdZejZ ddZ ddZ d d Z d S) DOMBuilderFilterrrrr cCs|jSr!) whatToShowr#rrr_get_whatToShowBsz DOMBuilderFilter._get_whatToShowcCs|jSr! FILTER_ACCEPTr$Zelementrrr acceptNodeEszDOMBuilderFilter.acceptNodecCs|jSr!rrrrrstartContainerHszDOMBuilderFilter.startContainerN) rr r rZ FILTER_REJECTZ FILTER_SKIPZFILTER_INTERRUPTrZSHOW_ALLrrrrrrrrr1s rc@s@eZdZdZddZddZddZdd Zd d Zd d Z dS) DocumentLSFcCsdS)NFrr#rrr _get_asyncSszDocumentLS._get_asynccCs|rtjddS)Nz.asynchronous document loading is not supported)r4r5r6)r$flagrrr _set_asyncVszDocumentLS._set_asynccCs tddS)Nz'haven't figured out what this means yetrlr#rrrabort[szDocumentLS.abortcCs tddSNzhaven't written this yetrrrrrloadaszDocumentLS.loadcCs tddSrr)r$rrrrloadXMLdszDocumentLS.loadXMLcCs*|dur|}n|j|ur"tj|Sr!)Z ownerDocumentr4r5ZWrongDocumentErrZtoxml)r$ZsnoderrrsaveXMLgs   zDocumentLS.saveXMLN) rr r Zasync_rrrrrrrrrrrNsrc@s,eZdZdZdZddZddZddZd S) DOMImplementationLSrrcCsF|durtjd||jkr$tS||jkr:tjdtddS)NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)r4r5r6MODE_SYNCHRONOUSrMODE_ASYNCHRONOUSrk)r$modeZ schemaTyperrrcreateDOMBuilderss  z$DOMImplementationLS.createDOMBuildercCs tddS)Nz-the writer interface hasn't been written yet!rr#rrrcreateDOMWriter~sz#DOMImplementationLS.createDOMWritercCstSr!)rr#rrrcreateDOMInputSourcesz(DOMImplementationLS.createDOMInputSourceN)rr r rrrrrrrrrros  r)rbZxml.domr4Zxml.dom.NodeFilterr__all__rrr2objectrrrrrrrrrs  %,1!