U e5dŒ1ã@sŽddlmZddlmZmZGdd„dƒZGdd„deƒZGdd„dƒZGd d „d ƒZGd d „d ƒZ Gd d„de ƒZ dd„Z e dkrŠe ƒdS)é)Úhandler)ÚSAXNotSupportedExceptionÚSAXNotRecognizedExceptionc@s„eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS) Ú XMLReadercCs,t ¡|_t ¡|_t ¡|_t ¡|_dS©N) rZContentHandlerÚ _cont_handlerZ DTDHandlerÚ _dtd_handlerZEntityResolverÚ _ent_handlerZ ErrorHandlerÚ _err_handler©Úself©r ú)/usr/lib64/python3.8/xml/sax/xmlreader.pyÚ__init__s   zXMLReader.__init__cCs tdƒ‚dS©Nz This method must be implemented!©ÚNotImplementedError©r Úsourcer r rÚparseszXMLReader.parsecCs|jSr©rr r r rÚgetContentHandler"szXMLReader.getContentHandlercCs ||_dSrr©r rr r rÚsetContentHandler&szXMLReader.setContentHandlercCs|jSr©rr r r rÚ getDTDHandler*szXMLReader.getDTDHandlercCs ||_dSrrrr r rÚ setDTDHandler.szXMLReader.setDTDHandlercCs|jSr©r r r r rÚgetEntityResolver2szXMLReader.getEntityResolvercCs ||_dSrr)r Zresolverr r rÚsetEntityResolver6szXMLReader.setEntityResolvercCs|jSr©r r r r rÚgetErrorHandler:szXMLReader.getErrorHandlercCs ||_dSrr rr r rÚsetErrorHandler>szXMLReader.setErrorHandlercCs tdƒ‚dS)NzLocale support not implemented)r)r Zlocaler r rÚ setLocaleBszXMLReader.setLocalecCstd|ƒ‚dS©NzFeature '%s' not recognized©r©r Únamer r rÚ getFeatureKszXMLReader.getFeaturecCstd|ƒ‚dSr$r%)r r'Ústater r rÚ setFeatureOszXMLReader.setFeaturecCstd|ƒ‚dS©NzProperty '%s' not recognizedr%r&r r rÚ getPropertySszXMLReader.getPropertycCstd|ƒ‚dSr+r%)r r'Úvaluer r rÚ setPropertyWszXMLReader.setPropertyN)Ú__name__Ú __module__Ú __qualname__rrrrrrrrr!r"r#r(r*r,r.r r r rr s  rc@s>eZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „ZdS)ÚIncrementalParserécCs||_t |¡dSr)Ú_bufsizerr)r Úbufsizer r rroszIncrementalParser.__init__cCslddlm}| |¡}| |¡| ¡}|dkr8| ¡}| |j¡}|r`| |¡| |j¡}qD|  ¡dS)Nr)Úsaxutils) Úr6Zprepare_input_sourceÚ prepareParserÚgetCharacterStreamÚ getByteStreamÚreadr4ÚfeedÚclose)r rr6ÚfileÚbufferr r rrss     zIncrementalParser.parsecCs tdƒ‚dSrr)r Údatar r rr<�szIncrementalParser.feedcCs tdƒ‚dS)Nz!prepareParser must be overridden!rrr r rr8ŠszIncrementalParser.prepareParsercCs tdƒ‚dSrrr r r rr=�s zIncrementalParser.closecCs tdƒ‚dSrrr r r rÚresetœszIncrementalParser.resetN)r3) r/r0r1rrr<r8r=rAr r r rr2[s    r2c@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ÚLocatorcCsdS©Néÿÿÿÿr r r r rÚgetColumnNumber«szLocator.getColumnNumbercCsdSrCr r r r rÚ getLineNumber¯szLocator.getLineNumbercCsdSrr r r r rÚ getPublicId³szLocator.getPublicIdcCsdSrr r r r rÚ getSystemId·szLocator.getSystemIdN)r/r0r1rErFrGrHr r r rrB¥srBc@sfeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dS)Ú InputSourceNcCs"||_d|_d|_d|_d|_dSr)Ú_InputSource__system_idÚ_InputSource__public_idÚ_InputSource__encodingÚ_InputSource__bytefileÚ_InputSource__charfile©r Z system_idr r rrÍs zInputSource.__init__cCs ||_dSr©rK)r Z public_idr r rÚ setPublicIdÔszInputSource.setPublicIdcCs|jSrrPr r r rrGØszInputSource.getPublicIdcCs ||_dSr©rJrOr r rÚ setSystemIdÜszInputSource.setSystemIdcCs|jSrrRr r r rrHàszInputSource.getSystemIdcCs ||_dSr©rL)r Úencodingr r rÚ setEncodingäszInputSource.setEncodingcCs|jSrrTr r r rÚ getEncodingîszInputSource.getEncodingcCs ||_dSr©rM)r Zbytefiler r rÚ setByteStreamòs zInputSource.setByteStreamcCs|jSrrXr r r rr:ÿszInputSource.getByteStreamcCs ||_dSr©rN)r Zcharfiler r rÚsetCharacterStreamszInputSource.setCharacterStreamcCs|jSrrZr r r rr9szInputSource.getCharacterStream)N)r/r0r1rrQrGrSrHrVrWrYr:r[r9r r r rrI½s    rIc@s–eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zd$dd„Zdd„Zd d!„Zd"d#„ZdS)%ÚAttributesImplcCs ||_dSr©Ú_attrs)r Úattrsr r rrszAttributesImpl.__init__cCs t|jƒSr©Úlenr^r r r rÚ getLengthszAttributesImpl.getLengthcCsdS)NZCDATAr r&r r rÚgetType!szAttributesImpl.getTypecCs |j|Srr]r&r r rÚgetValue$szAttributesImpl.getValuecCs |j|Srr]r&r r rÚgetValueByQName'szAttributesImpl.getValueByQNamecCs||jkrt|ƒ‚|Sr©r^ÚKeyErrorr&r r rÚgetNameByQName*s zAttributesImpl.getNameByQNamecCs||jkrt|ƒ‚|Srrfr&r r rÚgetQNameByName/s zAttributesImpl.getQNameByNamecCst|j ¡ƒSr©Úlistr^Úkeysr r r rÚgetNames4szAttributesImpl.getNamescCst|j ¡ƒSrrjr r r rÚ getQNames7szAttributesImpl.getQNamescCs t|jƒSrr`r r r rÚ__len__:szAttributesImpl.__len__cCs |j|Srr]r&r r rÚ __getitem__=szAttributesImpl.__getitem__cCst|j ¡ƒSrrjr r r rrl@szAttributesImpl.keyscCs ||jkSrr]r&r r rÚ __contains__CszAttributesImpl.__contains__NcCs|j ||¡Sr)r^Úget)r r'Ú alternativer r rrrFszAttributesImpl.getcCs | |j¡Sr)Ú __class__r^r r r rÚcopyIszAttributesImpl.copycCst|j ¡ƒSr)rkr^Úitemsr r r rrvLszAttributesImpl.itemscCst|j ¡ƒSr)rkr^Úvaluesr r r rrwOszAttributesImpl.values)N)r/r0r1rrbrcrdrerhrirmrnrorprlrqrrrurvrwr r r rr\s" r\c@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚAttributesNSImplcCs||_||_dSr)r^Ú_qnames)r r_Zqnamesr r rrVszAttributesNSImpl.__init__cCs6|j ¡D]\}}||kr |j|Sq t|ƒ‚dSr)ryrvr^rg©r r'ZnsnameZqnamer r rre^sz AttributesNSImpl.getValueByQNamecCs0|j ¡D]\}}||kr |Sq t|ƒ‚dSr)ryrvrgrzr r rrhes zAttributesNSImpl.getNameByQNamecCs |j|Sr)ryr&r r rrilszAttributesNSImpl.getQNameByNamecCst|j ¡ƒSr)rkryrwr r r rrnoszAttributesNSImpl.getQNamescCs| |j|j¡Sr)rtr^ryr r r rrurszAttributesNSImpl.copyN) r/r0r1rrerhrirnrur r r rrxTs rxcCstƒtƒtƒdSr)rr2rBr r r rÚ_testvsr{Ú__main__N) r7rÚ _exceptionsrrrr2rBrIr\rxr{r/r r r rÚs PJY>"