o !Qdc0@s ddlZddlZddlmZgdZGdddZGdddZdd ZGd d d e Z Gd d d e Z GdddZ [GdddZ GdddZdS)N) NodeFilter) DOMBuilderDOMEntityResolverDOMInputSourcec@sZeZdZ dZdZdZdZdZdZdZ 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 errorHandlerfilterrr9/opt/alt/python310/lib64/python3.10/xml/dom/xmlbuilder.pyr s* rc @s`eZdZdZdZdZdZdZdZdZ eeee fZ ddZ dd Z d d Z d d ZddZddZddZddZddZddZiddgddgddgddgddgddgd d gd!d!gd"d"gd#d#gd$d"d$gd%d%gd&d&gd'd'gd(d(gd)d)gd*d*gd+gd,gd-gggd.d/gd0gd1gd2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<ZdS)=rNrcCs t|_dSN)r_optionsselfrrr__init__9s zDOMBuilder.__init__cC|jSr!entityResolverr#rrr_get_entityResolver<zDOMBuilder._get_entityResolvercC ||_dSr!r')r$r(rrr_set_entityResolver> zDOMBuilder._set_entityResolvercCr&r!rr#rrr_get_errorHandlerAr*zDOMBuilder._get_errorHandlercCr+r!r.)r$rrrr_set_errorHandlerCr-zDOMBuilder._set_errorHandlercCr&r!rr#rrr _get_filterFr*zDOMBuilder._get_filtercCr+r!r1)r$rrrr _set_filterHr-zDOMBuilder._set_filtercCs||r8|r dp d}z |jt||f}Wnty'tjd|fdw|D] \}}t|j||q*dStj dt |)Nrrzunsupported feature: %rzunknown feature: ) supportsFeature _settings _name_xformKeyErrorxmldomNotSupportedErrsetattrr" NotFoundErrrepr)r$namestateZsettingsvaluerrr setFeatureKs    zDOMBuilder.setFeaturecCst|jt|Sr!)hasattrr"r6)r$r>rrrr4YzDOMBuilder.supportsFeaturecCst||rdpdf}||jvS)Nrr)r6r5)r$r>r?keyrrr canSetFeature\s zDOMBuilder.canSetFeaturer r)r r)r r)rr)rr)rr)rrrrrr)rrrr)rr)rrrrrr)rr)rrrrrrrr) rFrGrHrIrK)rrrJrLrNrrr rr r)rLrMrN)rr)rrrOrPrQcCst|}zt|j|WStyA|dkr7|j}|jo4|jo4|jo4|jo4|jp3|j p3|j p3|j p3|j YSt jdt|w)Nrzfeature %s not known)r6getattrr"AttributeErrorrrrrr rrrrr8r9r<r=)r$r>Zxnameoptionsrrr getFeatures2  zDOMBuilder.getFeaturecCs.|jr |jd|}ntd|}||Sr!)r( resolveEntityrparse)r$uriinputrrrparseURIs zDOMBuilder.parseURIcCsRt|j}|j|_|j|_|j}|dur#|jr#ddl}|j|j}| ||SNr) copyr"rr byteStreamsystemIdurllib.requestrequestZurlopen_parse_bytestream)r$rYrTfpurllibrrrrWs  zDOMBuilder.parsecCs||jvr tdtd)Nznot a legal actionzHaven't written this yet...)_legal_actions ValueErrorNotImplementedError)r$rYZcnodeactionrrrparseWithContexts zDOMBuilder.parseWithContextcCs ddl}|jj|}||Sr[)Zxml.dom.expatbuilderr9Z expatbuilderZ makeBuilderZ parseFile)r$streamrTr8Zbuilderrrrras zDOMBuilder._parse_bytestream)rr r r(rrZACTION_REPLACEZACTION_APPEND_AS_CHILDRENZACTION_INSERT_AFTERZACTION_INSERT_BEFORErdr%r)r,r/r0r2r3rAr4rEr5rUrZrWrhrarrrrr,s     "% = rcCs|ddS)N-_)lowerreplace)r>rrrr6rCr6c@s0eZdZdZddZddZddZdd Zd S) r)_openerc Cst}||_||_|||_|||_ddl}ddl }|j |}|\}}} } } } | rJ| dsJ| | d} ||| | | | f}|j ||_|S)Nr/)rpublicIdr^ _get_openeropenr]_guess_media_encodingencoding posixpathZ urllib.parserWZurlparseendswithdirnameZ urlunparsebaseURI) r$rpr^sourcerurcpartsZschemeZnetlocpathparamsZqueryZfragmentrrrrVs  zDOMEntityResolver.resolveEntitycCs,z|jWSty||_|jYSwr!)rnrS_create_openerr#rrrrqs    zDOMEntityResolver._get_openercCsddl}|jSr[)r_r`Z build_opener)r$rcrrrr}s z DOMEntityResolver._create_openercCsJ|j}d|vr!|D]}|dr |dddSq dSdS)Nz Content-Typezcharset==r)r]infoZgetplist startswithsplitrl)r$ryrZparamrrrrss   z'DOMEntityResolver._guess_media_encodingN)rr r __slots__rVrqr}rsrrrrrs  rc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZddZd S)!rr]characterStream stringDatartrpr^rxcCs.d|_d|_d|_d|_d|_d|_d|_dSr!rr#rrrr%s zDOMInputSource.__init__cCr&r!r]r#rrr_get_byteStream r*zDOMInputSource._get_byteStreamcCr+r!r)r$r]rrr_set_byteStreamr-zDOMInputSource._set_byteStreamcCr&r!rr#rrr_get_characterStreamr*z#DOMInputSource._get_characterStreamcCr+r!r)r$rrrr_set_characterStreamr-z#DOMInputSource._set_characterStreamcCr&r!rr#rrr_get_stringDatar*zDOMInputSource._get_stringDatacCr+r!r)r$datarrr_set_stringDatar-zDOMInputSource._set_stringDatacCr&r!rtr#rrr _get_encodingr*zDOMInputSource._get_encodingcCr+r!r)r$rtrrr _set_encodingr-zDOMInputSource._set_encodingcCr&r!rpr#rrr _get_publicId!r*zDOMInputSource._get_publicIdcCr+r!r)r$rprrr _set_publicId#r-zDOMInputSource._set_publicIdcCr&r!r^r#rrr _get_systemId&r*zDOMInputSource._get_systemIdcCr+r!r)r$r^rrr _set_systemId(r-zDOMInputSource._set_systemIdcCr&r!rxr#rrr _get_baseURI+r*zDOMInputSource._get_baseURIcCr+r!rr$rXrrr _set_baseURI-r-zDOMInputSource._set_baseURIN)rr r rr%rrrrrrrrrrrrrrrrrrrs"  rc@s<eZdZ dZdZdZdZejZ ddZ ddZ d d Z d S) DOMBuilderFilterrrrr cCr&r!) whatToShowr#rrr_get_whatToShowBr*z DOMBuilderFilter._get_whatToShowcCr&r! FILTER_ACCEPTr$Zelementrrr acceptNodeEr*zDOMBuilderFilter.acceptNodecCr&r!rrrrrstartContainerHr*zDOMBuilderFilter.startContainerN) rr r rZ FILTER_REJECTZ FILTER_SKIPZFILTER_INTERRUPTrZSHOW_ALLrrrrrrrrr1s  rc@sBeZdZ dZddZddZddZdd Zd d Zd d Z dS) DocumentLSFcCsdS)NFrr#rrr _get_asyncSszDocumentLS._get_asynccCs|rtjddS)Nz.asynchronous document loading is not supported)r8r9r:)r$flagrrr _set_asyncVs zDocumentLS._set_asynccCtd)Nz'haven't figured out what this means yetrfr#rrrabort[szDocumentLS.abortcCrNzhaven't written this yetrrrrrloadazDocumentLS.loadcCrrr)r$ryrrrloadXMLdrzDocumentLS.loadXMLcCs0|dur |}|S|j|urtj|Sr!)Z ownerDocumentr8r9ZWrongDocumentErrZtoxml)r$ZsnoderrrsaveXMLgs  zDocumentLS.saveXMLN) rr r Zasync_rrrrrrrrrrrNs rc@s,eZdZdZdZddZddZddZd S) DOMImplementationLSrrcCsB|dur tjd||jkrtS||jkrtjdtd)NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)r8r9r:MODE_SYNCHRONOUSrMODE_ASYNCHRONOUSre)r$modeZ schemaTyperrrcreateDOMBuilderss  z$DOMImplementationLS.createDOMBuildercCr)Nz-the writer interface hasn't been written yet!rr#rrrcreateDOMWriter~sz#DOMImplementationLS.createDOMWritercCstSr!)rr#rrrcreateDOMInputSourcer*z(DOMImplementationLS.createDOMInputSourceN)rr r rrrrrrrrrros  r)r\Zxml.domr8Zxml.dom.NodeFilterr__all__rrr6objectrrrrrrrrrs  %,1!