
    f                     X    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e      Zd	 Zy
)zDefused xml.sax.expatreader
    )print_functionabsolute_import)ExpatParser   )DTDForbiddenEntitiesForbiddenExternalReferenceForbiddenzxml.sax.expatreaderc                   @    e Zd ZdZ	 	 	 	 	 d	dZd Zd Zd Zd Zd Z	y)
DefusedExpatParserz,Defused SAX driver for the pyexpat C module.c                 \    t        j                  | ||       || _        || _        || _        y N)_ExpatParser__init__
forbid_dtdforbid_entitiesforbid_external)selfnamespaceHandlingbufsizer   r   r   s         Q/var/www/cvtools/html/venv/lib/python3.12/site-packages/defusedxml/expatreader.pyr   zDefusedExpatParser.__init__   s.     	d$5w?$..    c                     t        |||      r   )r   )r   namesysidpubidhas_internal_subsets        r   defused_start_doctype_declz-DefusedExpatParser.defused_start_doctype_decl!   s    4..r   c                 "    t        ||||||      r   r   )r   r   is_parameter_entityvaluebaser   r   notation_names           r   defused_entity_declz&DefusedExpatParser.defused_entity_decl$   s      eT5%OOr   c                 "    t        |d ||||      r   r   )r   r   r"   r   r   r#   s         r   defused_unparsed_entity_declz/DefusedExpatParser.defused_unparsed_entity_decl)   s    dD%NNr   c                     t        ||||      r   )r	   )r   contextr"   r   r   s        r   #defused_external_entity_ref_handlerz6DefusedExpatParser.defused_external_entity_ref_handler-   s    ($uEEr   c                    t        j                  |        | j                  }| j                  r| j                  |_        | j                  r"| j                  |_        | j                  |_
        | j                  r| j                  |_        y y r   )r   reset_parserr   r   StartDoctypeDeclHandlerr   r$   EntityDeclHandlerr&   UnparsedEntityDeclHandlerr   r)   ExternalEntityRefHandler)r   parsers     r   r+   zDefusedExpatParser.reset0   so    4 ??-1-L-LF*'+'?'?F$/3/P/PF,.2.V.VF+  r   N)r   i  FTT)
__name__
__module____qualname____doc__r   r   r$   r&   r)   r+    r   r   r   r      s8    6 //P
OF	Wr   r   c                      t        | i |S r   )r   )argskwargss     r   create_parserr:   <   s    t.v..r   N)r5   
__future__r   r   xml.sax.expatreaderr   r   commonr   r   r	   
__origin__r   r:   r6   r   r   <module>r?      s/    6 ; O O"
(W (WV/r   