
    f                         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y)z1Common constants, exceptions and helpe functions
    N   ParserCreatepyexpatc                       e Zd ZdZd Zy)DefusedXmlExceptionzBase exceptionc                     t        |       S N)str)selfs    L/var/www/cvtools/html/venv/lib/python3.12/site-packages/defusedxml/common.py__repr__zDefusedXmlException.__repr__   s    4y    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         t        |           || _        || _        || _        y r	   )superr   __init__namesysidpubid)r   r   r   r   	__class__s       r   r   zDTDForbidden.__init__   s%    lD*,	

r   c                 h    d}|j                  | 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$))TZZ<<r   r   r   r   r   r   r"   __classcell__r   s   @r   r   r      s    /=r   r   c                   (     e Zd ZdZ fdZd Z xZS )EntitiesForbiddenzEntity definition is forbiddenc                 ~    t         t        |           || _        || _        || _        || _        || _        || _        y r	   )	r   r'   r   r   valuebaser   r   notation_name)r   r   r)   r*   r   r   r+   r   s          r   r   zEntitiesForbidden.__init__*   s<    /1	
	

*r   c                 h    d}|j                  | 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$))TZZ<<r   r#   r%   s   @r   r'   r'   '   s    (+=r   r'   c                   (     e Zd ZdZ fdZd Z xZS )ExternalReferenceForbiddenz,Resolving an external reference is forbiddenc                 b    t         t        |           || _        || _        || _        || _        y r	   )r   r.   r   contextr*   r   r   )r   r0   r*   r   r   r   s        r   r   z#ExternalReferenceForbidden.__init__;   s-    ($8:	

r   c                 R    d}|j                  | j                  | j                        S )Nz8ExternalReferenceForbidden(system_id='{}', public_id={}))r   r   r   r    s     r   r"   z"ExternalReferenceForbidden.__str__B   s     Hzz$**djj11r   r#   r%   s   @r   r.   r.   8   s    62r   r.   c                       e Zd ZdZy)NotSupportedErrorzThe operation is not supportedN)r   r   r   r   r   r   r   r3   r3   G   s    (r   r3   c                 T   | t         j                  | j                     u sJ | j                  }t	        |i i dg       t         j                  |   }t        t        |            }t        |       j                         D ](  \  }}|j                  d      s||vrt        |||       * |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.c                 <    |         |||      } | |      S N)target
forbid_dtdforbid_entitiesforbid_externalr   )sourceparserrK   rL   rM   DefusedXMLParser_TreeBuilder_parses        r   parsez(_generate_etree_functions.<locals>.parse\   s/    >%#~% / /	F ff%%r   c                 >    |         |||      } | ||      S rI   r   )	rN   eventsrO   rK   rL   rM   rP   rQ   
_iterparses	         r   	iterparsez,_generate_etree_functions.<locals>.iterparsef   s3     >%#~% / /	F &&&11r   c                 h             |||      }|j                  |        |j                         S rI   )feedclose)textrK   rL   rM   rO   rP   rQ   s        r   
fromstringz-_generate_etree_functions.<locals>.fromstringw   s5    !>!++	
 	D||~r   )NFTT)NNFTT)FTTr   )rP   rQ   rR   rV   rS   rW   r\   s   ````   r   _generate_etree_functionsr]   X   s2    & 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 s{{  .1
i
  * =& ==+ ="2!4 2)+ )
)(r   