Edit File: expatreader.cpython-37.pyc
B ����l}�cX=������������������@���s���d�Z�dZddlT�ddlmZmZ�ddlmZ�ddlmZmZ�ddlm Z �ddlm Z mZ�dd lZej d d ��dkr|edd ��[ydd lmZ�W�n�ek r����edd ��Y�nX�eed�s�edd ��ddlmZmZmZ�ejZejZydd 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/python37/lib64/python3.7/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�)N)r����_ref)�self�parserr���r���r����__init__9���s����zExpatLocator.__init__c�������������C���s���|�j�}|jd�krd�S�|jjS�)N)r����_parser�ErrorColumnNumber)r���r���r���r���r����getColumnNumber<���s���� zExpatLocator.getColumnNumberc�������������C���s���|�j�}|jd�krdS�|jjS�)N����)r���r����ErrorLineNumber)r���r���r���r���r���� getLineNumberB���s���� zExpatLocator.getLineNumberc�������������C���s���|�j�}|d�krd�S�|j���S�)N)r����_source�getPublicId)r���r���r���r���r���r&���H���s����zExpatLocator.getPublicIdc�������������C���s���|�j�}|d�krd�S�|j���S�)N)r���r%����getSystemId)r���r���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��|�}||�_y*|�����|�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���r6���g���s���� zExpatParser.parsec�������������C���s ���|����d�k r|�j�|������d�S�)N)r'���r���ZSetBase)r���r8���r���r���r���� prepareParserw���s����zExpatParser.prepareParserc�������������C���s ���t�j�|�|��|�jr|�����d�S�)N)r���r+����setContentHandlerr.����_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���zFeature '%s' not recognized) r���r,���r���r1���r���r���r���r���r0����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 prefixeszFeature '%s' not recognized)r.����SAXNotSupportedExceptionr���r,���r���r0���r���r1���r���r���r���r<���)r���r=����stater���r���r���� setFeature����s2���� 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 parsingzProperty '%s' not recognized)r����property_lexical_handlerr-���r ���r1���r ���r����hasattrrB���r<���r?���)r���r=���r���r���r����getProperty����s���� zExpatParser.getPropertyc�������������C���sV���|t�jkr ||�_|�jrR|�����n2|tkr0||�_n"|tkrFtd|���nt d|���d�S�)NzProperty '%s' cannot be setzProperty '%s' not recognized) r���rC���r-���r.����_reset_lex_handler_propr ���r1���r ���r?���r<���)r���r=����valuer���r���r����setProperty����s���� zExpatParser.setPropertyc���������� ���C���sz���|�j�s|�����d|�_�|�j����y|�j�||��W�nD�tjk rt�}�z$tt� |j �||��}|�j�|��W�d�d�}~X�Y�nX�d�S�)Nr"���) r.���r4���r5���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�d�|���}|d�k r<|����X�d�S�)N)r%���ZgetCharacterStream�closeZ getByteStream)r���r8����filer���r���r���r7�������s����zExpatParser._close_sourcec�������������C���s����|�j�s|�jd�kst|�jt�r d�S�z(|�jddd��|�j����d|�_d�|�_W�d�d|�_|�jd�k rzt��}|�jj|_|�jj |_ ||�_|�� ���X�d�S�)N��r"���)rL���r���)r/���r���� isinstancer���rO���r5���ZendDocumentr.���r ���r#���r7���)r���r���r���r���r���rP�������s���� zExpatParser.closec�������������C���s���|�j�j|�j_|�j�j|�j_d�S�)N)r5����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�)N)r-���r���ZCommentHandlerZStartCdataSectionHandlerZEndCdataSectionHandlerZStartDoctypeDeclHandlerZEndDoctypeDeclHandler�commentZ startCDATAZendCDATA�start_doctype_declZendDTD)r���Zlexr���r���r���r���rF�����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_y|�j|�j_W�n�tk r����Y�nX�|�j�tj ��d|�_!g�|�_"d�S�)N� )�internr"���r���)#r,���r ���r���r%���ZgetEncodingr1���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_propr-���rF����external_entity_refZExternalEntityRefHandler�skipped_entity_handlerZSkippedEntityHandler�AttributeErrorZSetParamEntityParsingZ*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr.���r/���)r���r���r���r���r4�����s6���� zExpatParser.resetc�������������C���s���|�j�d�krd�S�|�j�jS�)N)r���r ���)r���r���r���r���r!���;��s���� zExpatParser.getColumnNumberc�������������C���s���|�j�d�krdS�|�j�jS�)Nr"���)r���r#���)r���r���r���r���r$���@��s���� zExpatParser.getLineNumberc�������������C���s ���|�j����S�)N)r%���r&���)r���r���r���r���r&���E��s����zExpatParser.getPublicIdc�������������C���s ���|�j����S�)N)r%���r'���)r���r���r���r���r'���H��s����zExpatParser.getSystemIdc�������������C���s���|�j��|t|���d�S�)N)r5���ZstartElement�AttributesImpl)r���r=����attrsr���r���r���r\���L��s����zExpatParser.start_elementc�������������C���s���|�j��|��d�S�)N)r5���Z endElement)r���r=���r���r���r���r]���O��s����zExpatParser.end_elementc�������������C���s����|����}t|�dkrd�|f}n&t|�dkr<|d�|d�f}nt|�}i�}i�}x�|���D�]|\}}|����}t|�} | dkr�|} d�|f}n>| dkr�d|d�|d�f�} |d�|d�f}n|d�} t|�}|||<�| ||<�qVW�|�j�|d�t||���d�S�)Nr"�������r���z%s:%s����)�split�len�tuple�itemsr5���ZstartElementNS�AttributesNSImpl)r���r=���rf����pairZnewattrsZqnamesZanamerG����parts�lengthZqnameZapairr���r���r���rZ���R��s.���� zExpatParser.start_element_nsc�������������C���sV���|����}t|�dkrd�|f}n&t|�dkr<|d�|d�f}nt|�}|�j�|d���d�S�)Nr"���rg���r���)ri���rj���rk���r5���ZendElementNS)r���r=���rn���r���r���r���r[���t��s���� zExpatParser.end_element_nsc�������������C���s���|�j��||��d�S�)N)r5���rT���)r����targetrK���r���r���r����processing_instruction���s����z"ExpatParser.processing_instructionc�������������C���s���|�j��|��d�S�)N)r5���rU���)r���rK���r���r���r����character_data���s����zExpatParser.character_datac�������������C���s���|�j��||��d�S�)N)r5���ZstartPrefixMapping)r����prefixZurir���r���r���r`������s����z ExpatParser.start_namespace_declc�������������C���s���|�j��|��d�S�)N)r5���ZendPrefixMapping)r���rt���r���r���r���ra������s����zExpatParser.end_namespace_declc�������������C���s���|�j��|||��d�S�)N)r-���ZstartDTD)r���r=����sysid�pubidZhas_internal_subsetr���r���r���rW������s����zExpatParser.start_doctype_declc�������������C���s���|�j��||||��d�S�)N)�_dtd_handlerZunparsedEntityDecl)r���r=����baseru���rv���Z notation_namer���r���r���r^������s����z ExpatParser.unparsed_entity_declc�������������C���s���|�j��|||��d�S�)N)rw���ZnotationDecl)r���r=���rx���ru���rv���r���r���r���r_������s����zExpatParser.notation_declc�������������C���s����|�j�s dS�|�j�||�}t�||�j���p*d�}|�j�|�j |�jf��|�j � |�|�_ ||�_ytj� |�|��W�n ���dS�|�jd�\|�_ |�_|�jd=�dS�)Nr"���rR���r������)r0���Z_ent_handlerZ resolveEntityr���r3���r%���r'���r/����appendr���ZExternalEntityParserCreater���r+���r6���)r����contextrx���ru���rv���r8���r���r���r���rb������s ���� zExpatParser.external_entity_refc�������������C���s���|rd|�}|�j��|��d�S�)N�%)r5���Z skippedEntity)r���r=���Zis_per���r���r���rc������s����z"ExpatParser.skipped_entity_handlerN)r���r*���)r���)#r���r���r���r(���r���r6���r9���r:���r>���rA���rE���rH���rO���r7���rP���r;���rF���r4���r!���r$���r&���r'���r\���r]���rZ���r[���rr���rs���r`���ra���rW���r^���r_���rb���rc���r���r���r���r���r)���W���s@��� '"r)���c��������������O���s ���t�|�|�S�)N)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 ����ImportErrorrD���Zxml.saxr���r���r���re���rm����_weakrefr����weakref�proxyr���ZLocatorr���r+���r)���r���r���Zxml.sax.saxutilsZxml�pr:���ZsaxZXMLGeneratorZsetErrorHandlerZErrorHandlerr6���r���r���r���r����<module>���sN��� $��_