U ,a/@sddlZddlZddlZddlZddlZddlmZddlmZddZ ifddZ ifd d Z ifd d Z d dZ GdddejZGdddejZdddZdS)N)handler) xmlreadercCs"|D]\}}|||}q|SN)itemsreplace)sdkeyvaluer 5/opt/alt/python38/lib64/python3.8/xml/sax/saxutils.py__dict_replace srcCs6|dd}|dd}|dd}|r2t||}|S)N&&>><<rrdataZentitiesr r r escapes    rcCs2|dd}|dd}|r&t||}|ddS)Nrrrrrrrrr r r unescape"s    rcCsR|dddd}t||}d|krFd|kr._wrappercs t|Sr)getattrselfnameoutr r __getattr__Zsz,_gettextwriter.._wrapper.__getattr__N)__name__ __module__ __qualname__ __class__r&r r$r r _wrapperXsr+cSsdSrr r r r r ]z _gettextwriter..cSsdS)NTr r r r r r,br-xmlcharrefreplacerT)encodingerrorsnewline write_through)sysstdout isinstanceio TextIOBasecodecs StreamWriterStreamReaderWriter RawIOBasecloseBufferedIOBasewritablewriteseekabletellAttributeError TextIOWrapper)r%r/r3r+bufferr r$r _gettextwriterGs0     rEc@seZdZd ddZddZd!dd Zd d Zd d ZddZddZ ddZ ddZ ddZ ddZ ddZddZddZdS)" XMLGeneratorN iso-8859-1FcCsVtj|t||}|j|_|j|_ig|_|jd|_ g|_ ||_ ||_ d|_ dS)NF)rContentHandler__init__rEr?_writeflush_flush _ns_contexts_current_context_undeclared_ns_maps _encoding_short_empty_elements_pending_start_element)r"r%r/Zshort_empty_elementsr r r rJrs   zXMLGenerator.__init__cCsJ|drBd|dkr d|dS|j|d}|rB|d|dS|dS)Nrz$http://www.w3.org/XML/1998/namespacezxml:r:)rO)r"r#prefixr r r _qname~s  zXMLGenerator._qnamecCs|jr|dd|_dS)NrFrSrK)r" endElementr r r _finish_pending_start_elements z*XMLGenerator._finish_pending_start_elementcCs|d|jdS)Nz$ )rKrQr"r r r startDocumentszXMLGenerator.startDocumentcCs |dSr)rMrZr r r endDocumentszXMLGenerator.endDocumentcCs0|j|j||j|<|j||fdSr)rNappendrOcopyrPr"rUurir r r startPrefixMappings zXMLGenerator.startPrefixMappingcCs|jd|_|jd=dS)NrH)rNrOr"rUr r r endPrefixMappings zXMLGenerator.endPrefixMappingcCsZ||d||D]\}}|d|t|fq|jrLd|_n |ddS)Nr %s=%sTr)rYrKrrrRrS)r"r#attrsr r r r startElementszXMLGenerator.startElementcCs*|jr|dd|_n|d|dSNz/>FzrWr!r r r rXs zXMLGenerator.endElementcCs||d|||jD].\}}|rB|d||fq"|d|q"g|_|D]$\}}|d||t|fq`|jrd|_n |ddS)Nrz xmlns:%s="%s"z xmlns="%s"rdTr)rYrKrVrPrrrRrS)r"r#qnamererUr`r r r r startElementNSszXMLGenerator.startElementNScCs0|jr|dd|_n|d||dSrg)rSrKrVr"r#rhr r r endElementNSs zXMLGenerator.endElementNScCs4|r0|t|ts"t||j}|t|dSr)rYr5strrQrKrr"Zcontentr r r characterss   zXMLGenerator.characterscCs0|r,|t|ts"t||j}||dSr)rYr5rlrQrKrmr r r ignorableWhitespaces   z XMLGenerator.ignorableWhitespacecCs||d||fdS)Nz )rYrKr"targetrr r r processingInstructionsz"XMLGenerator.processingInstruction)NrGF)F)r'r(r)rJrVrYr[r\rarcrfrXrirkrnrorrr r r r rFps   rFc@seZdZd:ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdS); XMLFilterBaseNcCstj|||_dSr)r XMLReaderrJ_parentr"parentr r r rJs zXMLFilterBase.__init__cCs|j|dSr) _err_handlererrorr"Z exceptionr r r ryszXMLFilterBase.errorcCs|j|dSr)rx fatalErrorrzr r r r{szXMLFilterBase.fatalErrorcCs|j|dSr)rxwarningrzr r r r|szXMLFilterBase.warningcCs|j|dSr) _cont_handlersetDocumentLocator)r"Zlocatorr r r r~sz XMLFilterBase.setDocumentLocatorcCs|jdSr)r}r[rZr r r r[szXMLFilterBase.startDocumentcCs|jdSr)r}r\rZr r r r\szXMLFilterBase.endDocumentcCs|j||dSr)r}rar_r r r rasz XMLFilterBase.startPrefixMappingcCs|j|dSr)r}rcrbr r r rcszXMLFilterBase.endPrefixMappingcCs|j||dSr)r}rf)r"r#rer r r rf szXMLFilterBase.startElementcCs|j|dSr)r}rXr!r r r rXszXMLFilterBase.endElementcCs|j|||dSr)r}ri)r"r#rhrer r r riszXMLFilterBase.startElementNScCs|j||dSr)r}rkrjr r r rkszXMLFilterBase.endElementNScCs|j|dSr)r}rnrmr r r rnszXMLFilterBase.characterscCs|j|dSr)r}ro)r"charsr r r rosz!XMLFilterBase.ignorableWhitespacecCs|j||dSr)r}rrrpr r r rrsz#XMLFilterBase.processingInstructioncCs|j|dSr)r} skippedEntityr!r r r r szXMLFilterBase.skippedEntitycCs|j|||dSr) _dtd_handler notationDecl)r"r#publicIdsystemIdr r r r%szXMLFilterBase.notationDeclcCs|j||||dSr)runparsedEntityDecl)r"r#rrZndatar r r r(sz XMLFilterBase.unparsedEntityDeclcCs|j||Sr)Z _ent_handler resolveEntity)r"rrr r r r-szXMLFilterBase.resolveEntitycCs@|j||j||j||j||j|dSr)ruZsetContentHandlerZsetErrorHandlerZsetEntityResolverZ setDTDHandlerparse)r"sourcer r r r2s     zXMLFilterBase.parsecCs|j|dSr)ru setLocale)r"Zlocaler r r r9szXMLFilterBase.setLocalecCs |j|Sr)ru getFeaturer!r r r r<szXMLFilterBase.getFeaturecCs|j||dSr)ru setFeature)r"r#stater r r r?szXMLFilterBase.setFeaturecCs |j|Sr)ru getPropertyr!r r r rBszXMLFilterBase.getPropertycCs|j||dSr)ru setProperty)r"r#r r r r rEszXMLFilterBase.setPropertycCs|jSrrurZr r r getParentJszXMLFilterBase.getParentcCs ||_dSrrrvr r r setParentMszXMLFilterBase.setParent)N)r'r(r)rJryr{r|r~r[r\rarcrfrXrirkrnrorrrrrrrrrrrrrrr r r r rss8 rscCs$t|tjrt|}t|tr,t|}n^t|dr|}t}t|dtr^| |n | |t|drt|j tr| |j | dkr |dkr |}tjtj|}tj||}tj|r| |t|d}n$| tj||tj|}| ||S)Nreadrr#rb)r5osPathLikefspathrlrZ InputSourcehasattrrZsetCharacterStreamZ setByteStreamr#Z setSystemIdZgetCharacterStreamZ getByteStreamZ getSystemIdpathdirnamenormpathjoinisfileopenurllibrZurljoinZrequestZurlopen)rbasefZsysidZbaseheadZ sysidfilenamer r r prepare_input_sourceRs.            r)r)rZ urllib.parserZurllib.requestr6r8rrrrrrrrErIrFrtrsrr r r r s     )so