B €/g^­/ã@s¦ddlZddlZddlZddlZddlZddlmZddlmZdd„Z ifdd„Z ifd d „Z ifd d „Z d d„Z Gdd„dejƒZGdd„dejƒZddd„ZdS)éNé)Úhandler)Ú xmlreadercCs&x | ¡D]\}}| ||¡}q W|S)N)ÚitemsÚreplace)ÚsÚdÚkeyÚvalue©r ú(/usr/lib64/python3.7/xml/sax/saxutils.pyÚ__dict_replace sr cCs6| dd¡}| dd¡}| dd¡}|r2t||ƒ}|S)Nú&z&ú>z>ú._wrappercs tˆ|ƒS)N)Úgetattr)ÚselfÚname)Úoutr r Ú __getattr__[sz,_gettextwriter.._wrapper.__getattr__N)Ú__name__Ú __module__Ú __qualname__Ú __class__r!r )r r r Ú_wrapperYsr&cSsdS)Nr r r r r Ú^óz _gettextwriter..cSsdS)NTr r r r r r'cr(ÚxmlcharrefreplacerT)ÚencodingÚerrorsÚnewlineÚ write_through)ÚsysÚstdoutÚ isinstanceÚioÚ TextIOBaseÚcodecsÚ StreamWriterÚStreamReaderWriterÚ RawIOBaseÚcloseÚBufferedIOBaseÚwritableÚwriteÚseekableÚtellÚAttributeErrorÚ TextIOWrapper)r r*r.r&Úbufferr )r r Ú_gettextwriterHs.     r@c@s€eZdZd dd„Zdd„Zd!dd „Zd d „Zd d „Zdd„Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)"Ú XMLGeneratorNú iso-8859-1FcCsVtj |¡t||ƒ}|j|_|j|_ig|_|jd|_ g|_ ||_ ||_ d|_ dS)NéÿÿÿÿF)rÚContentHandlerÚ__init__r@r:Ú_writeÚflushÚ_flushÚ _ns_contextsÚ_current_contextÚ_undeclared_ns_mapsÚ _encodingÚ_short_empty_elementsÚ_pending_start_element)rr r*Zshort_empty_elementsr r r rEss   zXMLGenerator.__init__cCsJ|drBd|dkr d|dS|j|d}|rB|d|dS|dS)Nrz$http://www.w3.org/XML/1998/namespacezxml:rú:)rJ)rrÚprefixr r r Ú_qnames  zXMLGenerator._qnamecCs|jr| d¡d|_dS)NrF)rNrF)rÚ endElementr r r Ú_finish_pending_start_elements z*XMLGenerator._finish_pending_start_elementcCs| d|j¡dS)Nz$ )rFrL)rr r r Ú startDocument—szXMLGenerator.startDocumentcCs | ¡dS)N)rH)rr r r Ú endDocument›szXMLGenerator.endDocumentcCs0|j |j ¡¡||j|<|j ||f¡dS)N)rIÚappendrJrrK)rrPÚurir r r ÚstartPrefixMappingžs zXMLGenerator.startPrefixMappingcCs|jd|_|jd=dS)NrC)rIrJ)rrPr r r ÚendPrefixMapping£s zXMLGenerator.endPrefixMappingcCs^| ¡| d|¡x*| ¡D]\}}| d|t|ƒf¡q W|jrPd|_n | d¡dS)Nrz %s=%sTr)rSrFrrrMrN)rrÚattrsr r r r Ú startElement§szXMLGenerator.startElementcCs*|jr| d¡d|_n| d|¡dS)Nz/>Fz)rNrF)rrr r r rR±s zXMLGenerator.endElementcCsª| ¡| d| |¡¡x8|jD].\}}|rD| d||f¡q$| d|¡q$Wg|_x0| ¡D]$\}}| d| |¡t|ƒf¡qfW|jrœd|_n | d¡dS)Nrz xmlns:%s="%s"z xmlns="%s"z %s=%sTr)rSrFrQrKrrrMrN)rrÚqnamerZrPrWr r r r ÚstartElementNS¸s zXMLGenerator.startElementNScCs0|jr| d¡d|_n| d| |¡¡dS)Nz/>Fz)rNrFrQ)rrr\r r r Ú endElementNSÊs zXMLGenerator.endElementNScCs4|r0| ¡t|tƒs"t||jƒ}| t|ƒ¡dS)N)rSr0ÚstrrLrFr)rÚcontentr r r Ú charactersÑs   zXMLGenerator.characterscCs0|r,| ¡t|tƒs"t||jƒ}| |¡dS)N)rSr0r_rLrF)rr`r r r ÚignorableWhitespaceØs   z XMLGenerator.ignorableWhitespacecCs| ¡| d||f¡dS)Nz )rSrF)rÚtargetrr r r ÚprocessingInstructionßsz"XMLGenerator.processingInstruction)NrBF)F)r"r#r$rErQrSrTrUrXrYr[rRr]r^rarbrdr r r r rAqs   rAc@sîeZdZd:dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd8d9„ZdS);Ú XMLFilterBaseNcCstj |¡||_dS)N)rÚ XMLReaderrEÚ_parent)rÚparentr r r rEìs zXMLFilterBase.__init__cCs|j |¡dS)N)Ú _err_handlerÚerror)rÚ exceptionr r r rjòszXMLFilterBase.errorcCs|j |¡dS)N)riÚ fatalError)rrkr r r rlõszXMLFilterBase.fatalErrorcCs|j |¡dS)N)riÚwarning)rrkr r r rmøszXMLFilterBase.warningcCs|j |¡dS)N)Ú _cont_handlerÚsetDocumentLocator)rZlocatorr r r roýsz XMLFilterBase.setDocumentLocatorcCs|j ¡dS)N)rnrT)rr r r rTszXMLFilterBase.startDocumentcCs|j ¡dS)N)rnrU)rr r r rUszXMLFilterBase.endDocumentcCs|j ||¡dS)N)rnrX)rrPrWr r r rXsz XMLFilterBase.startPrefixMappingcCs|j |¡dS)N)rnrY)rrPr r r rY szXMLFilterBase.endPrefixMappingcCs|j ||¡dS)N)rnr[)rrrZr r r r[ szXMLFilterBase.startElementcCs|j |¡dS)N)rnrR)rrr r r rRszXMLFilterBase.endElementcCs|j |||¡dS)N)rnr])rrr\rZr r r r]szXMLFilterBase.startElementNScCs|j ||¡dS)N)rnr^)rrr\r r r r^szXMLFilterBase.endElementNScCs|j |¡dS)N)rnra)rr`r r r raszXMLFilterBase.characterscCs|j |¡dS)N)rnrb)rÚcharsr r r rbsz!XMLFilterBase.ignorableWhitespacecCs|j ||¡dS)N)rnrd)rrcrr r r rdsz#XMLFilterBase.processingInstructioncCs|j |¡dS)N)rnÚ skippedEntity)rrr r r rq!szXMLFilterBase.skippedEntitycCs|j |||¡dS)N)Ú _dtd_handlerÚ notationDecl)rrÚpublicIdÚsystemIdr r r rs&szXMLFilterBase.notationDeclcCs|j ||||¡dS)N)rrÚunparsedEntityDecl)rrrtruZndatar r r rv)sz XMLFilterBase.unparsedEntityDeclcCs|j ||¡S)N)Z _ent_handlerÚ resolveEntity)rrtrur r r rw.szXMLFilterBase.resolveEntitycCs@|j |¡|j |¡|j |¡|j |¡|j |¡dS)N)rgZsetContentHandlerZsetErrorHandlerZsetEntityResolverZ setDTDHandlerÚparse)rÚsourcer r r rx3s     zXMLFilterBase.parsecCs|j |¡dS)N)rgÚ setLocale)rZlocaler r r rz:szXMLFilterBase.setLocalecCs |j |¡S)N)rgÚ getFeature)rrr r r r{=szXMLFilterBase.getFeaturecCs|j ||¡dS)N)rgÚ setFeature)rrÚstater r r r|@szXMLFilterBase.setFeaturecCs |j |¡S)N)rgÚ getProperty)rrr r r r~CszXMLFilterBase.getPropertycCs|j ||¡dS)N)rgÚ setProperty)rrr r r r rFszXMLFilterBase.setPropertycCs|jS)N)rg)rr r r Ú getParentKszXMLFilterBase.getParentcCs ||_dS)N)rg)rrhr r r Ú setParentNszXMLFilterBase.setParent)N)r"r#r$rErjrlrmrorTrUrXrYr[rRr]r^rarbrdrqrsrvrwrxrzr{r|r~rr€rr r r r reäs8 reÚcCst|tƒrt |¡}n^t|dƒrt|}t ¡}t| d¡tƒrH| |¡n | |¡t|dƒrtt|jtƒrt|  |j¡|  ¡dkr |  ¡dkr |  ¡}t j t j |¡¡}t j ||¡}t j |¡rÜ|  |¡t|dƒ}n$|  tj ||¡¡tj |  ¡¡}| |¡|S)NÚreadrrÚrb)r0r_rZ InputSourceÚhasattrrƒZsetCharacterStreamZ setByteStreamrZ setSystemIdZgetCharacterStreamZ getByteStreamZ getSystemIdÚosÚpathÚdirnameÚnormpathÚjoinÚisfileÚopenÚurllibrxZurljoinZrequestZurlopen)ryÚbaseÚfZsysidZbaseheadZ sysidfilenamer r r Úprepare_input_sourceSs*          r)r‚)r†Z urllib.parserZurllib.requestr1r3r‚rrr rrrr@rDrArfrerr r r r Ús     )so