3 2a2@sddlZddlZddlZddlmZdddgZGdddZGdddZd d Z Gd dde Z Gd dde Z Gd ddZ [GdddZGdddZ[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 errorHandlerfilterrr//opt/alt/python36/lib64/python3.6/xmlbuilder.pyr s& rc5@sVeZdZdZdZdZdZdZdZdZ eeee fZ ddZ dd Z d d Z d d ZddZddZddZddZddZddZd4d5gd6d7gd8d9gd:d;gdd?gd@dAgdBdCgdDdEgdFdGgdHdIdJgdKdLgdMdNgdOdPgdQdRgdSdTgdUdVgdWdXgdYdZgd[d\gd]gd^d_d`dadbdcdddedfdgg dhdigdjdkgdldmgiZd*d+Zd,d-Zd.d/Zd0d1Zd2d3ZdS)nrNrcCs t|_dS)N)r_options)selfrrr__init__:szDOMBuilder.__init__cCs|jS)N)entityResolver)r"rrr_get_entityResolver=szDOMBuilder._get_entityResolvercCs ||_dS)N)r$)r"r$rrr_set_entityResolver?szDOMBuilder._set_entityResolvercCs|jS)N)r)r"rrr_get_errorHandlerBszDOMBuilder._get_errorHandlercCs ||_dS)N)r)r"rrrr_set_errorHandlerDszDOMBuilder._set_errorHandlercCs|jS)N)r)r"rrr _get_filterGszDOMBuilder._get_filtercCs ||_dS)N)r)r"rrrr _set_filterIszDOMBuilder._set_filterc Cs|j|rv|rdpd}y|jt||f}Wn&tk rRtjjd|fYqXx4|D]\}}t|j||qZWntjj dt |dS)Nrrzunsupported feature: %rzunknown feature: ) supportsFeature _settings _name_xformKeyErrorxmldomNotSupportedErrsetattrr! NotFoundErrrepr)r"namestateZsettingsvaluerrr setFeatureLs  zDOMBuilder.setFeaturecCst|jt|S)N)hasattrr!r-)r"r5rrrr+ZszDOMBuilder.supportsFeaturecCst||rdpdf}||jkS)Nrr)r-r,)r"r5r6keyrrr canSetFeature]szDOMBuilder.canSetFeaturer rr rrrrrrrrrrrrr c Cst|}y t|j|Stk r|dkrj|j}|joh|joh|joh|joh|jpf|j pf|j pf|j pf|j St jjdt|YnXdS)Nrzfeature %s not known)r-getattrr!AttributeErrorrrrrr rrrrr/r0r3r4)r"r5Zxnameoptionsrrr getFeatures  zDOMBuilder.getFeaturecCs.|jr|jjd|}ntjd|}|j|S)N)r$ resolveEntityrparse)r"uriinputrrrparseURIszDOMBuilder.parseURIcCsRtj|j}|j|_|j|_|j}|dkrF|jrFddl}|jj|j}|j ||S)Nr) copyr!rr byteStreamsystemIdurllib.requestrequestZurlopen_parse_bytestream)r"rCr>fpurllibrrrrAs zDOMBuilder.parsecCs||jkrtdtddS)Nznot a legal actionzHaven't written this yet...)_legal_actions ValueErrorNotImplementedError)r"rCZcnodeactionrrrparseWithContexts zDOMBuilder.parseWithContextcCs ddl}|jjj|}|j|S)Nr)Zxml.dom.expatbuilderr0Z expatbuilderZ makeBuilderZ parseFile)r"streamr>r/ZbuilderrrrrJszDOMBuilder._parse_bytestream)r r)r r)r r)r r)r r)r r)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)r r)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)r r)r r)r r)r r)rr r r$rrZACTION_REPLACEZACTION_APPEND_AS_CHILDRENZACTION_INSERT_AFTERZACTION_INSERT_BEFORErMr#r%r&r'r(r)r*r8r+r;r,r?rDrArQrJrrrrr-s  cCs|jjddS)N-_)lowerreplace)r5rrrr-sr-c@s0eZdZd ZddZddZddZdd Zd S) r_openerc Cst}||_||_|jj||_|j||_ddl}ddl }|j j |}|\}}} } } } | r| j d r|j | d} ||| | | | f}|j j||_|S)Nr/)rpublicIdrG _get_openeropenrF_guess_media_encodingencoding posixpathZ urllib.parserAZurlparseendswithdirnameZ urlunparsebaseURI) r"rYrGsourcer^rLpartsschemeZnetlocpathparamsZqueryZfragmentrrrr@s  zDOMEntityResolver.resolveEntityc Cs,y|jStk r&|j|_|jSXdS)N)rWr=_create_opener)r"rrrrZs  zDOMEntityResolver._get_openercCsddl}|jjS)Nr)rHrIZ build_opener)r"rLrrrrgsz DOMEntityResolver._create_openercCsF|jj}d|krBx.|jD]"}|jdr|jdddjSqWdS)Nz Content-Typezcharset==r)rFinfoZgetplist startswithsplitrU)r"rbriZparamrrrr\s   z'DOMEntityResolver._guess_media_encodingN)rW)rr r __slots__r@rZrgr\rrrrrs c@seZdZd'Zdd Zd d Zd d ZddZddZddZ ddZ ddZ ddZ ddZ ddZddZd d!Zd"d#Zd$d%Zd&S)(rrFcharacterStream stringDatar]rYrGracCs.d|_d|_d|_d|_d|_d|_d|_dS)N)rFrmrnr]rYrGra)r"rrrr#szDOMInputSource.__init__cCs|jS)N)rF)r"rrr_get_byteStreamszDOMInputSource._get_byteStreamcCs ||_dS)N)rF)r"rFrrr_set_byteStreamszDOMInputSource._set_byteStreamcCs|jS)N)rm)r"rrr_get_characterStreamsz#DOMInputSource._get_characterStreamcCs ||_dS)N)rm)r"rmrrr_set_characterStreamsz#DOMInputSource._set_characterStreamcCs|jS)N)rn)r"rrr_get_stringDataszDOMInputSource._get_stringDatacCs ||_dS)N)rn)r"datarrr_set_stringDataszDOMInputSource._set_stringDatacCs|jS)N)r])r"rrr _get_encodingszDOMInputSource._get_encodingcCs ||_dS)N)r])r"r]rrr _set_encodingszDOMInputSource._set_encodingcCs|jS)N)rY)r"rrr _get_publicId"szDOMInputSource._get_publicIdcCs ||_dS)N)rY)r"rYrrr _set_publicId$szDOMInputSource._set_publicIdcCs|jS)N)rG)r"rrr _get_systemId'szDOMInputSource._get_systemIdcCs ||_dS)N)rG)r"rGrrr _set_systemId)szDOMInputSource._set_systemIdcCs|jS)N)ra)r"rrr _get_baseURI,szDOMInputSource._get_baseURIcCs ||_dS)N)ra)r"rBrrr _set_baseURI.szDOMInputSource._set_baseURIN)rFrmrnr]rYrGra)rr r rlr#rorprqrrrsrurvrwrxryrzr{r|r}rrrrrs" c@s:eZdZdZdZdZdZejZ ddZ ddZ d d Z d S) DOMBuilderFilterrrrr cCs|jS)N) whatToShow)r"rrr_get_whatToShowCsz DOMBuilderFilter._get_whatToShowcCs|jS)N) FILTER_ACCEPT)r"elementrrr acceptNodeFszDOMBuilderFilter.acceptNodecCs|jS)N)r)r"rrrrstartContainerIszDOMBuilderFilter.startContainerN) rr r rZ FILTER_REJECTZ FILTER_SKIPZFILTER_INTERRUPTrZSHOW_ALLrrrrrrrrr~2s r~c@s$eZdZddZddZddZdS)_AsyncDeprecatedPropertycCs|j}tjdj|dtdS)Nz+{cls}.async is deprecated; use {cls}.async_)cls)rwarningswarnformatDeprecationWarning)r"rZclsnamerrrrPs z_AsyncDeprecatedProperty.warncCs|j||dk r|jSdS)NF)rasync_)r"instancerrrr__get__Vs z _AsyncDeprecatedProperty.__get__cCs|jt|t|d|dS)Nr)rtyper2)r"rr7rrr__set__\sz _AsyncDeprecatedProperty.__set__N)rr r rrrrrrrrOsrc@sLeZdZdZeed<ddZddZddZd d Z d d Z d dZ dS) DocumentLSFasynccCsdS)NFr)r"rrr _get_asyncgszDocumentLS._get_asynccCs|rtjjddS)Nz.asynchronous document loading is not supported)r/r0r1)r"flagrrr _set_asyncjszDocumentLS._set_asynccCs tddS)Nz'haven't figured out what this means yet)rO)r"rrrabortoszDocumentLS.abortcCs tddS)Nzhaven't written this yet)rO)r"rBrrrloaduszDocumentLS.loadcCs tddS)Nzhaven't written this yet)rO)r"rbrrrloadXMLxszDocumentLS.loadXMLcCs*|dkr|}n|j|k r"tjj|jS)N)Z ownerDocumentr/r0ZWrongDocumentErrZtoxml)r"ZsnoderrrsaveXML{s   zDocumentLS.saveXMLN) rr r rrlocalsrrrrrrrrrrras rc@s,eZdZdZdZddZddZddZd S) DOMImplementationLSrrcCsF|dk rtjjd||jkr$tS||jkr:tjjdtddS)NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)r/r0r1MODE_SYNCHRONOUSrMODE_ASYNCHRONOUSrN)r"modeZ schemaTyperrrcreateDOMBuilders  z$DOMImplementationLS.createDOMBuildercCs tddS)Nz-the writer interface hasn't been written yet!)rO)r"rrrcreateDOMWritersz#DOMImplementationLS.createDOMWritercCstS)N)r)r"rrrcreateDOMInputSourcesz(DOMImplementationLS.createDOMInputSourceN)rr r rrrrrrrrrrs  r)rErZxml.domr/Zxml.dom.NodeFilterr__all__rrr-objectrrr~rrrrrrrs    %,1"