Edit File: expatreader.cpython-38.opt-1.pyc
U ����@��dX=����������������������@���s���d�Z�dZddlT�ddlmZmZ�ddlmZ�ddlmZmZ�ddlm Z �ddlm Z mZ�dd lZej d d ��dkr|edd ��[zdd lmZ�W�n�ek r����edd ��Y�nX�eed�s�edd ��ddlmZmZmZ�ejZejZzdd lZW�n�ek �r���dd��ZY�nX�dd lZejZ[[G�dd��d�ZG�dd��dej�ZG�dd��dej ej�Z!dd��Z"e#dk�r�dd l$Z%e"��Z&e&�'e%j(j�)����e&�*e%j(�+����e&�,d��d S�)z] SAX driver for the pyexpat C module. This driver works with pyexpat.__version__ == '2.22'. z0.20�����)�*)�feature_validation�feature_namespaces)�feature_namespace_prefixes)�feature_external_ges�feature_external_pes)�feature_string_interning)�property_xml_string�property_interning_dictN�����javazexpat not available in Java)�expatzexpat not supported�ParserCreate)� xmlreader�saxutils�handlerc�����������������C���s���|�S��N��)�or���r����8/opt/alt/python38/lib64/python3.8/xml/sax/expatreader.py�_mkproxy'���s����r���c�������������������@���s���e�Zd�ZdS�)� _ClosedParserN)�__name__� __module__�__qualname__r���r���r���r���r���.���s���r���c�������������������@���s8���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��ZdS�) �ExpatLocatorz�Locator for use with the ExpatParser class. This uses a weak reference to the parser object to avoid creating a circular reference between the parser and the content handler. c�����������������C���s���t�|�|�_d�S�r���)r����_ref��self�parserr���r���r����__init__9���s����zExpatLocator.__init__c�����������������C���s���|�j�}|jd�krd�S�|jjS�r���)r����_parser�ErrorColumnNumberr���r���r���r����getColumnNumber<���s���� zExpatLocator.getColumnNumberc�����������������C���s���|�j�}|jd�krdS�|jjS��N����)r���r!����ErrorLineNumberr���r���r���r���� getLineNumberB���s���� zExpatLocator.getLineNumberc�����������������C���s���|�j�}|d�krd�S�|j���S�r���)r����_source�getPublicIdr���r���r���r���r)���H���s����zExpatLocator.getPublicIdc�����������������C���s���|�j�}|d�krd�S�|j���S�r���)r���r(����getSystemIdr���r���r���r���r*���N���s����zExpatLocator.getSystemIdN) r���r���r����__doc__r ���r#���r'���r)���r*���r���r���r���r���r���3���s���r���c�������������������@���s��e�Zd�ZdZdCdd�Zdd��Zdd ��Zd d��Zdd ��Zdd��Z dd��Z dd��ZdDdd�Zdd��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��Zd:d;��Zd<d=��Z d>d?��Z!d@dA��Z"dBS�)E�ExpatParserz$SAX driver for the pyexpat C module.r�������c�����������������C���sF���t�j�|�|��t����|�_d�|�_||�_d�|�_d|�_g�|�_ d|�_ d�|�_d�S�)Nr���)r����IncrementalParserr ���ZInputSourcer(���r!����_namespaces�_lex_handler_prop�_parsing� _entity_stack� _external_ges� _interning)r���ZnamespaceHandling�bufsizer���r���r���r ���Z���s���� zExpatParser.__init__c�����������������C���sV���t��|�}||�_z*|�����|�j�t|����tj� |�|��W�n���|�� �����Y�nX�dS�)z3Parse an XML document from a URL or an InputSource.N)r����prepare_input_sourcer(����reset� _cont_handlerZsetDocumentLocatorr���r���r.����parse� _close_source�r����sourcer���r���r���r9���g���s���� zExpatParser.parsec�����������������C���s ���|����d�k r|�j�|������d�S�r���)r*���r!���ZSetBaser;���r���r���r���� prepareParserw���s����zExpatParser.prepareParserc�����������������C���s ���t�j�|�|��|�jr|�����d�S�r���)r���r.����setContentHandlerr1����_reset_cont_handler)r���r���r���r���r���r>���}���s����zExpatParser.setContentHandlerc�����������������C���sP���|t�kr|�jS�|tkr |�jd�k S�|tttfkr2dS�|tkr@|�jS�t d|���d�S�)Nr����Feature '%s' not recognized) r���r/���r���r4���r���r���r���r���r3����SAXNotRecognizedException�r����namer���r���r���� getFeature����s���� �zExpatParser.getFeaturec�����������������C���s����|�j�rtd��|tkr||�_n�|tkr.||�_nt|tkrT|rL|�jd�krRi�|�_q�d�|�_nN|tkrj|r�td��n8|t kr�|r�td��n"|t kr�|r�td��ntd|���d�S�)Nz!Cannot set features while parsingz!expat does not support validationz/expat does not read external parameter entitiesz(expat does not report namespace prefixesr@���)r1����SAXNotSupportedExceptionr���r/���r���r3���r���r4���r���r���r���rA���)r���rC����stater���r���r���� setFeature����s:���� ����zExpatParser.setFeaturec�����������������C���sd���|t�jkr|�jS�|tkr|�jS�|tkrT|�jrLt|�jd�rB|�j���S�t d��nt d��t d|���d�S�)N�GetInputContextz=This version of expat does not support getting the XML stringz.XML string cannot be returned when not parsing�Property '%s' not recognized)r����property_lexical_handlerr0���r ���r4���r ���r!����hasattrrH���rA���rE���rB���r���r���r����getProperty����s���� ��zExpatParser.getPropertyc�����������������C���sV���|t�jkr ||�_|�jrR|�����n2|tkr0||�_n"|tkrFtd|���nt d|���d�S�)NzProperty '%s' cannot be setrI���) r���rJ���r0���r1����_reset_lex_handler_propr ���r4���r ���rE���rA���)r���rC����valuer���r���r����setProperty����s���� ��zExpatParser.setPropertyc�������������� ���C���sz���|�j�s|�����d|�_�|�j����z|�j�||��W�nD�tjk rt�}�z$tt� |j �||��}|�j�|��W�5�d�}~X�Y�nX�d�S�r$���) r1���r7���r8���Z startDocumentr!���ZParser ����errorZSAXParseExceptionZErrorString�codeZ_err_handlerZ fatalError)r����data�isFinal�e�excr���r���r����feed����s���� zExpatParser.feedc�����������������C���sB���|�j�}z|���}|d�k r |����W�5�|���}|d�k r<|����X�d�S�r���)r(���Z getByteStream�closeZgetCharacterStream)r���r<����filer���r���r���r:�������s����zExpatParser._close_sourcec�����������������C���s����|�j�s|�jd�kst|�jt�r d�S�z(|�jddd��|�j � ���d|�_d�|�_W�5�d|�_|�jd�k rzt��}|�jj|_|�jj|_||�_|�����X�d�S�)Nr�����r%���)rS���)r2���r!���� isinstancer���r1���r"���r&���r:���rV���r8���ZendDocumentr���r���r���r���rW�������s ���� � zExpatParser.closec�����������������C���s���|�j�j|�j_|�j�j|�j_d�S�r���)r8����processingInstructionr!���ZProcessingInstructionHandler� charactersZCharacterDataHandler�r���r���r���r���r?�������s�����zExpatParser._reset_cont_handlerc�����������������C���s`���|�j�}|�j}|d�kr4d�|_d�|_d�|_d�|_d�|_n(|j|_|j|_|j |_|�j |_|j|_d�S�r���)r0���r!���ZCommentHandlerZStartCdataSectionHandlerZEndCdataSectionHandlerZStartDoctypeDeclHandlerZEndDoctypeDeclHandlerZcommentZ startCDATAZendCDATA�start_doctype_declZendDTD)r���Zlexr���r���r���r���rM�����s����z#ExpatParser._reset_lex_handler_propc�����������������C���s����|�j�r>tj|�j���d|�jd�|�_d|�j_|�j|�j_ |�j |�j_n,tj|�j���|�jd�|�_|�j|�j_ |�j |�j_|�����|�j|�j_|�j|�j_|�j|�j_|�j|�j_d�|�_|�jr�|�����|�j|�j_z|�j|�j_W�n�tk r����Y�nX�|�j�tj ��d|�_!g�|�_"d�S�)N� )�internr%���r���)#r/���r ���r���r(���ZgetEncodingr4���r!���Znamespace_prefixes�start_element_nsZStartElementHandler�end_element_nsZEndElementHandler� start_element�end_elementr?����unparsed_entity_declZUnparsedEntityDeclHandler� notation_declZNotationDeclHandler�start_namespace_declZStartNamespaceDeclHandler�end_namespace_declZEndNamespaceDeclHandlerZ_decl_handler_propr0���rM����external_entity_refZExternalEntityRefHandler�skipped_entity_handlerZSkippedEntityHandler�AttributeErrorZSetParamEntityParsingZ*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr1���r2���r]���r���r���r���r7�����s<����� � �zExpatParser.resetc�����������������C���s���|�j�d�krd�S�|�j�jS�r���)r!���r"���r]���r���r���r���r#���;��s���� zExpatParser.getColumnNumberc�����������������C���s���|�j�d�krdS�|�j�jS�r$���)r!���r&���r]���r���r���r���r'���@��s���� zExpatParser.getLineNumberc�����������������C���s ���|�j����S�r���)r(���r)���r]���r���r���r���r)���E��s����zExpatParser.getPublicIdc�����������������C���s ���|�j����S�r���)r(���r*���r]���r���r���r���r*���H��s����zExpatParser.getSystemIdc�����������������C���s���|�j��|t|���d�S�r���)r8���ZstartElement�AttributesImpl)r���rC����attrsr���r���r���rc���L��s����zExpatParser.start_elementc�����������������C���s���|�j��|��d�S�r���)r8���Z endElementrB���r���r���r���rd���O��s����zExpatParser.end_elementc�����������������C���s����|����}t|�dkrd�|f}n&t|�dkr<|d�|d�f}nt|�}i�}i�}|���D�]|\}}|����}t|�} | dkr�|} d�|f}n>| dkr�d|d�|d�f�} |d�|d�f}n|d�} t|�}|||<�| ||<�qT|�j�|d�t||���d�S�)Nr%�������r���z%s:%s����)�split�len�tuple�itemsr8���ZstartElementNS�AttributesNSImpl)r���rC���rm����pairZnewattrsZqnamesZanamerN����partsZlengthZqnameZapairr���r���r���ra���R��s0���� �zExpatParser.start_element_nsc�����������������C���sV���|����}t|�dkrd�|f}n&t|�dkr<|d�|d�f}nt|�}|�j�|d���d�S�)Nr%���rn���r���)rp���rq���rr���r8���ZendElementNS)r���rC���ru���r���r���r���rb���t��s���� zExpatParser.end_element_nsc�����������������C���s���|�j��||��d�S�r���)r8���r[���)r����targetrR���r���r���r����processing_instruction���s����z"ExpatParser.processing_instructionc�����������������C���s���|�j��|��d�S�r���)r8���r\���)r���rR���r���r���r����character_data���s����zExpatParser.character_datac�����������������C���s���|�j��||��d�S�r���)r8���ZstartPrefixMapping)r����prefixZurir���r���r���rg������s����z ExpatParser.start_namespace_declc�����������������C���s���|�j��|��d�S�r���)r8���ZendPrefixMapping)r���rz���r���r���r���rh������s����zExpatParser.end_namespace_declc�����������������C���s���|�j��|||��d�S�r���)r0���ZstartDTD)r���rC����sysid�pubidZhas_internal_subsetr���r���r���r^������s����zExpatParser.start_doctype_declc�����������������C���s���|�j��||||��d�S�r���)�_dtd_handlerZunparsedEntityDecl)r���rC����baser{���r|���Z notation_namer���r���r���re������s����z ExpatParser.unparsed_entity_declc�����������������C���s���|�j��|||��d�S�r���)r}���ZnotationDecl)r���rC���r~���r{���r|���r���r���r���rf������s����zExpatParser.notation_declc�����������������C���s����|�j�s dS�|�j�||�}t�||�j���p*d�}|�j�|�j |�jf��|�j � |�|�_ ||�_ztj� |�|��W�n���Y�dS�X�|�jd�\|�_ |�_|�jd=�dS�)Nr%���rY���r������)r3���Z_ent_handlerZ resolveEntityr���r6���r(���r*���r2����appendr!���ZExternalEntityParserCreater���r.���r9���)r����contextr~���r{���r|���r<���r���r���r���ri������s"���� �zExpatParser.external_entity_refc�����������������C���s���|rd|�}|�j��|��d�S�)N�%)r8���Z skippedEntity)r���rC���Zis_per���r���r���rj������s����z"ExpatParser.skipped_entity_handlerN)r���r-���)r���)#r���r���r���r+���r ���r9���r=���r>���rD���rG���rL���rO���rV���r:���rW���r?���rM���r7���r#���r'���r)���r*���rc���rd���ra���rb���rx���ry���rg���rh���r^���re���rf���ri���rj���r���r���r���r���r,���W���s@��� '"r,���c������������������O���s ���t�|�|�S�r���)r,���)�args�kwargsr���r���r���� create_parser���s����r�����__main__z:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml)-r+����versionZxml.sax._exceptionsZxml.sax.handlerr���r���r���r���r���r���r ���r ����sys�platformZSAXReaderNotAvailableZxml.parsersr ����ImportErrorrK���Zxml.saxr���r���r���rl���rt����_weakrefr����weakref�proxyr���ZLocatorr���r.���r,���r����r���Zxml.sax.saxutilsZxml�pr>���ZsaxZXMLGeneratorZsetErrorHandlerZErrorHandlerr9���r���r���r���r����<module>���sN��� $��_