
    Mh                        d Z ddlZddlZej        d         dk    Z eej        j        d          s e	d           G d de
          Z G d d	e          Z G d
 de          Z G d de          Z G d de          Zd Zd ZdS )z1Common constants, exceptions and helpe functions
    N   ParserCreatepyexpatc                       e Zd ZdZd ZdS )DefusedXmlExceptionzBase exceptionc                      t          |           S N)str)selfs    Q/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/defusedxml/common.py__repr__zDefusedXmlException.__repr__   s    4yy    N)__name__
__module____qualname____doc__r    r   r   r   r      s)            r   r   c                   (     e Zd ZdZ fdZd Z xZS )DTDForbiddenz%Document type definition is forbiddenc                     t          t          |                                            || _        || _        || _        d S r	   )superr   __init__namesysidpubid)r   r   r   r   	__class__s       r   r   zDTDForbidden.__init__   s8    lD!!**,,,	



r   c                 R    d}|                     | j        | j        | j                  S )Nz7DTDForbidden(name='{}', system_id={!r}, public_id={!r})formatr   r   r   r   tpls     r   __str__zDTDForbidden.__str__"   s#    Gzz$)TZ<<<r   r   r   r   r   r   r"   __classcell__r   s   @r   r   r      sM        //    = = = = = = =r   r   c                   (     e Zd ZdZ fdZd Z xZS )EntitiesForbiddenzEntity definition is forbiddenc                     t          t          |                                            || _        || _        || _        || _        || _        || _        d S r	   )	r   r'   r   r   valuebaser   r   notation_name)r   r   r)   r*   r   r   r+   r   s          r   r   zEntitiesForbidden.__init__*   sQ    &&//111	
	

*r   c                 R    d}|                     | j        | j        | j                  S )Nz<EntitiesForbidden(name='{}', system_id={!r}, public_id={!r})r   r    s     r   r"   zEntitiesForbidden.__str__3   s#    Lzz$)TZ<<<r   r#   r%   s   @r   r'   r'   '   sM        ((+ + + + += = = = = = =r   r'   c                   (     e Zd ZdZ fdZd Z xZS )ExternalReferenceForbiddenz,Resolving an external reference is forbiddenc                     t          t          |                                            || _        || _        || _        || _        d S r	   )r   r.   r   contextr*   r   r   )r   r0   r*   r   r   r   s        r   r   z#ExternalReferenceForbidden.__init__;   s@    ($//88:::	



r   c                 F    d}|                     | j        | j                  S )Nz8ExternalReferenceForbidden(system_id='{}', public_id={}))r   r   r   r    s     r   r"   z"ExternalReferenceForbidden.__str__B   s    Hzz$*dj111r   r#   r%   s   @r   r.   r.   8   sM        66    2 2 2 2 2 2 2r   r.   c                       e Zd ZdZdS )NotSupportedErrorzThe operation is not supportedN)r   r   r   r   r   r   r   r3   r3   G   s        ((((r   r3   c                 p   | t           j        | j                 u sJ | j        }t	          |i i dg           t           j        |         }t          t          |                    }t          |                                           D ]0\  }}|	                    d          s||vrt          |||           1|S )N*_)sysmodulesr   
__origin__
__import__setdirvarsitems
startswithsetattr)defused_modstdlib_name
stdlib_modstdlib_namesr   objs         r   _apply_defusingrF   K   s    #+k&:;;;;;(K{BSE***[)Js:''L+&&,,.. ' '	c??3 	4|#;#;
D#&&&&r   c                 L     d fd	}	 	 	 	 	 d fd	}d	 fd	}|||fS )
zdFactory for functions needed by etree, dependent on whether
    cElementTree or ElementTree is used.NFTc                 N    |              |||          } | |          S N)target
forbid_dtdforbid_entitiesforbid_externalr   )sourceparserrK   rL   rM   DefusedXMLParser_TreeBuilder_parses        r   parsez(_generate_etree_functions.<locals>.parse\   sE    >%%#|~~% / /	  F vff%%%r   c                 P    |              |||          } | ||          S rI   r   )	rN   eventsrO   rK   rL   rM   rP   rQ   
_iterparses	         r   	iterparsez,_generate_etree_functions.<locals>.iterparsef   sI     >%%#|~~% / /	  F z&&&111r   c                                   |||          }|                     |            |                                S rI   )feedclose)textrK   rL   rM   rO   rP   rQ   s        r   
fromstringz-_generate_etree_functions.<locals>.fromstringw   sN    !!<>>!++	
 
 
 	D||~~r   )NFTT)NNFTT)FTTr   )rP   rQ   rR   rV   rS   rW   r\   s   ````   r   _generate_etree_functionsr]   X   s    & & & & & & & & 2 2 2 2 2 2 2 2"       )Z''r   )r   r7   xml.parsers.expatxmlversion_infoPY3hasattrparsersexpatImportError
ValueErrorr   r   r'   r.   r3   rF   r]   r   r   r   <module>rg      s_    



    	qQ ws{ .11 !
+i
 
      *   = = = = =& = = == = = = =+ = = ="2 2 2 2 2!4 2 2 2) ) ) ) )+ ) ) )
 
 
)( )( )( )( )(r   