B
    ,‹d”  ã               @   sT   d Z ddlmZmZ ddlmZ ddlmZm	Z	m
Z
 dZG dd„ deƒZd	d
„ ZdS )zDefused xml.sax.expatreader
é    )Úprint_functionÚabsolute_import)ÚExpatParseré   )ÚDTDForbiddenÚEntitiesForbiddenÚExternalReferenceForbiddenzxml.sax.expatreaderc               @   sB   e Zd ZdZddd„Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	dS )ÚDefusedExpatParserz,Defused SAX driver for the pyexpat C module.r   éìÿ  FTc             C   s$   t  | ||¡ || _|| _|| _d S )N)Ú_ExpatParserÚ__init__Ú
forbid_dtdÚforbid_entitiesÚforbid_external)ÚselfZnamespaceHandlingÚbufsizer   r   r   © r   úc/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/defusedxml/expatreader.pyr      s    zDefusedExpatParser.__init__c             C   s   t |||ƒ‚d S )N)r   )r   ÚnameÚsysidÚpubidZhas_internal_subsetr   r   r   Údefused_start_doctype_decl!   s    z-DefusedExpatParser.defused_start_doctype_declc             C   s   t ||||||ƒ‚d S )N)r   )r   r   Zis_parameter_entityÚvalueÚbaser   r   Únotation_namer   r   r   Údefused_entity_decl$   s    z&DefusedExpatParser.defused_entity_declc             C   s   t |d ||||ƒ‚d S )N)r   )r   r   r   r   r   r   r   r   r   Údefused_unparsed_entity_decl)   s    z/DefusedExpatParser.defused_unparsed_entity_declc             C   s   t ||||ƒ‚d S )N)r   )r   Úcontextr   r   r   r   r   r   Ú#defused_external_entity_ref_handler-   s    z6DefusedExpatParser.defused_external_entity_ref_handlerc             C   sF   t  | ¡ | j}| jr| j|_| jr4| j|_| j	|_
| jrB| j|_d S )N)r   ÚresetÚ_parserr   r   ZStartDoctypeDeclHandlerr   r   ZEntityDeclHandlerr   ZUnparsedEntityDeclHandlerr   r   ZExternalEntityRefHandler)r   Úparserr   r   r   r   0   s    
zDefusedExpatParser.resetN)r   r
   FTT)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   r   r	      s       
r	   c              O   s
   t | |ŽS )N)r	   )ÚargsÚkwargsr   r   r   Úcreate_parser<   s    r(   N)r%   Ú
__future__r   r   Zxml.sax.expatreaderr   r   Úcommonr   r   r   Ú
__origin__r	   r(   r   r   r   r   Ú<module>   s   +