o !Qd/@s ddlZddlZddlZddlZddlZddlmZddlmZddZ ifddZ ifd d Z ifd d Z d dZ GdddejZGdddejZdddZdS)N)handler) xmlreadercCs$ |D] \}}|||}q|SN)itemsreplace)sdkeyvaluer 7/opt/alt/python310/lib64/python3.10/xml/sax/saxutils.py__dict_replace srcCs8 |dd}|dd}|dd}|rt||}|S)N&&>><<rrdataZentitiesr r r escapes    rcCs4 |dd}|dd}|rt||}|ddS)Nrrrrrrrrr r r unescape"s     rcCs\ i|dddd}t||}d|vr(d|vr"d|dd}|Sd |}|Sd|}|S) Nz z z )   "'z"%s"z"z'%s')rrrr r r quoteattr0s rcsdur ddl}|jSttjrSttjtjfrSttjr6Gfddd}|}dd|_ n!t }dd|_ j |_ z j |_ j|_Wn tyVYnwtj||ddd d S) NrcseZdZjZfddZdS)z _gettextwriter.._wrappercs t|Sr)getattrselfnameoutr r __getattr__Z z,_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%r0r4r,bufferr r$r _gettextwriterGs2      rFc@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__rFr@_writeflush_flush _ns_contexts_current_context_undeclared_ns_maps _encoding_short_empty_elements_pending_start_element)r"r%r0Zshort_empty_elementsr r r rKrs    zXMLGenerator.__init__cCsL |dr"d|dkrd|dS|j|d}|r"|d|dS|dS)Nrz$http://www.w3.org/XML/1998/namespacezxml:r:)rP)r"r#prefixr r r _qname~s  zXMLGenerator._qnamecCs|jr |dd|_dSdS)NrFrTrL)r" endElementr r r _finish_pending_start_elements  z*XMLGenerator._finish_pending_start_elementcCs|d|jdS)Nz$ )rLrRr"r r r startDocuments zXMLGenerator.startDocumentcCs |dSr)rNr[r r r endDocument zXMLGenerator.endDocumentcCs0|j|j||j|<|j||fdSr)rOappendrPcopyrQr"rVurir r r startPrefixMappings zXMLGenerator.startPrefixMappingcCs|jd|_|jd=dS)NrI)rOrPr"rVr r r endPrefixMappings  zXMLGenerator.endPrefixMappingcCs\||d||D]\}}|d|t|fq|jr'd|_dS|ddS)Nr %s=%sTr)rZrLrrrSrT)r"r#attrsr r r r startElements zXMLGenerator.startElementcCs,|jr |dd|_dS|d|dSNz/>FzrXr!r r r rYs  zXMLGenerator.endElementcCs||d|||jD]\}}|r!|d||fq|d|qg|_|D]\}}|d||t|fq0|jrKd|_dS|ddS)Nrz xmlns:%s="%s"z xmlns="%s"rfTr)rZrLrWrQrrrSrT)r"r#qnamergrVrbr r r r startElementNSs zXMLGenerator.startElementNScCs2|jr |dd|_dS|d||dSri)rTrLrWr"r#rjr r r endElementNSs  zXMLGenerator.endElementNScCs8|r|t|tst||j}|t|dSdSr)rZr6strrRrLrr"Zcontentr r r characterss   zXMLGenerator.characterscCs4|r|t|tst||j}||dSdSr)rZr6rnrRrLror r r ignorableWhitespaces   z XMLGenerator.ignorableWhitespacecCs||d||fdS)Nz )rZrLr"targetrr r r processingInstructionsz"XMLGenerator.processingInstruction)NrHF)F)r(r)r*rKrWrZr\r]rcrerhrYrkrmrprqrtr r r r rGps    rGc@seZdZ d: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 XMLReaderrK_parentr"parentr r r rKs  zXMLFilterBase.__init__cC|j|dSr) _err_handlererrorr"Z exceptionr r r r|zXMLFilterBase.errorcCrzr)r{ fatalErrorr}r r r rr~zXMLFilterBase.fatalErrorcCrzr)r{warningr}r r r rr~zXMLFilterBase.warningcCrzr) _cont_handlersetDocumentLocator)r"Zlocatorr r r rr~z XMLFilterBase.setDocumentLocatorcC|jdSr)rr\r[r r r r\zXMLFilterBase.startDocumentcCrr)rr]r[r r r r]rzXMLFilterBase.endDocumentcC|j||dSr)rrcrar r r rcz XMLFilterBase.startPrefixMappingcCrzr)rrerdr r r rer~zXMLFilterBase.endPrefixMappingcCrr)rrh)r"r#rgr r r rh rzXMLFilterBase.startElementcCrzr)rrYr!r r r rYr~zXMLFilterBase.endElementcC|j|||dSr)rrk)r"r#rjrgr r r rkzXMLFilterBase.startElementNScCrr)rrmrlr r r rmrzXMLFilterBase.endElementNScCrzr)rrpror r r rpr~zXMLFilterBase.characterscCrzr)rrq)r"charsr r r rqr~z!XMLFilterBase.ignorableWhitespacecCrr)rrtrrr r r rtrz#XMLFilterBase.processingInstructioncCrzr)r skippedEntityr!r r r r r~zXMLFilterBase.skippedEntitycCrr) _dtd_handler notationDecl)r"r#publicIdsystemIdr r r r%rzXMLFilterBase.notationDeclcCs|j||||dSr)runparsedEntityDecl)r"r#rrZndatar r r r(sz XMLFilterBase.unparsedEntityDeclcCs|j||Sr)Z _ent_handler resolveEntity)r"rrr r r r-rzXMLFilterBase.resolveEntitycCs@|j||j||j||j||j|dSr)rwZsetContentHandlerZsetErrorHandlerZsetEntityResolverZ setDTDHandlerparse)r"sourcer r r r2s    zXMLFilterBase.parsecCrzr)rw setLocale)r"localer r r r9r~zXMLFilterBase.setLocalecC |j|Sr)rw getFeaturer!r r r r<r^zXMLFilterBase.getFeaturecCrr)rw setFeature)r"r#stater r r r?rzXMLFilterBase.setFeaturecCrr)rw getPropertyr!r r r rBr^zXMLFilterBase.getPropertycCrr)rw setProperty)r"r#r r r r rErzXMLFilterBase.setPropertycCs|jSrrwr[r r r getParentJszXMLFilterBase.getParentcCs ||_dSrrrxr r r setParentMr'zXMLFilterBase.setParentr)r(r)r*rKr|rrrr\r]rcrerhrYrkrmrprqrtrrrrrrrrrrrrr r r r rus<  rucCs" t|tjr t|}t|trt|}n/t|drF|}t}t|dtr0| |n| |t|drFt|j trF| |j | dur|dur|}tjtj|}tj||}tj|rx| |t|d}n| tj||tj|}| ||S)Nreadrr#rb)r6osPathLikefspathrnrZ InputSourcehasattrrZsetCharacterStreamZ setByteStreamr#Z setSystemIdZgetCharacterStreamZ getByteStreamZ getSystemIdpathdirnamenormpathjoinisfileopenurllibrZurljoinZrequestZurlopen)rbasefZsysidZbaseheadZ sysidfilenamer r r prepare_input_sourceRs0            r)r)rZ urllib.parserZurllib.requestr7r9rrrrrrrrFrJrGrvrurr r r r s     )so