
    4\hc0                         	 d dl Z d dlZd dlmZ g dZ G d d          Z G d d          Zd Z G d	 d
e	          Z
 G d de	          Z G d d          Z[ G d d          Z G d d          ZdS )    N)
NodeFilter)
DOMBuilderDOMEntityResolverDOMInputSourcec                   \    e Zd Z	 dZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdZdZdZdZdZdZdS )Options   TFN)__name__
__module____qualname__
namespacesnamespace_declarations
validationexternal_parameter_entitiesexternal_general_entitiesexternal_dtd_subsetvalidate_if_schemavalidatedatatype_normalizationcreate_entity_ref_nodesentitieswhitespace_in_element_contentcdata_sectionscommentscharset_overrides_xml_encodinginfosetsupported_mediatypes_onlyerrorHandlerfilter     </opt/python-3.11.14/usr/lib/python3.11/xml/dom/xmlbuilder.pyr   r      s~         J!J"& $H""H$(!NH%)"G %LFFFr!   r   c            
       D   e Zd ZdZdZdZdZdZdZdZ	eeee	fZ
d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zi ddgddgddgddgddgddgddgddgddgddgdddgddgddgddgddgddgd d gd!gd"gd#gg g d$d%gd&gd'gd(Zd) Zd* Zd+ Zd, Zd- ZdS ).r   Nr	            c                 ,    t                      | _        d S N)r   _optionsselfs    r"   __init__zDOMBuilder.__init__9   s    		r!   c                     | j         S r(   entityResolverr*   s    r"   _get_entityResolverzDOMBuilder._get_entityResolver<   s    ""r!   c                     || _         d S r(   r.   )r+   r/   s     r"   _set_entityResolverzDOMBuilder._set_entityResolver>   s    ,r!   c                     | j         S r(   r   r*   s    r"   _get_errorHandlerzDOMBuilder._get_errorHandlerA   s      r!   c                     || _         d S r(   r4   )r+   r   s     r"   _set_errorHandlerzDOMBuilder._set_errorHandlerC   s    (r!   c                     | j         S r(   r   r*   s    r"   _get_filterzDOMBuilder._get_filterF   s
    {r!   c                     || _         d S r(   r9   )r+   r   s     r"   _set_filterzDOMBuilder._set_filterH   s    r!   c                 r   |                      |          rt|rdpd}	 | j        t          |          |f         }|D ]\  }}t          | j        ||           d S # t
          $ r$ t          j                            d|          d w xY wt          j        	                    dt          |          z             )Nr	   r   zunsupported feature: zunknown feature: )supportsFeature	_settings_name_xformsetattrr)   KeyErrorxmldomNotSupportedErrNotFoundErrrepr)r+   namestatesettingsvalues        r"   
setFeaturezDOMBuilder.setFeatureK   s    %% 	HKa$1E8>;t+<+<e*DE
 $, 8 8KD%DM477778 8	  C C Cg---1579 9>BCC '%%&9DJJ&FGGGs   A .Bc                 F    t          | j        t          |                    S r(   )hasattrr)   r@   )r+   rH   s     r"   r>   zDOMBuilder.supportsFeatureY   s    t}k$&7&7888r!   c                 >    t          |          |rdpdf}|| j        v S )Nr	   r   )r@   r?   )r+   rH   rI   keys       r"   canSetFeaturezDOMBuilder.canSetFeature\   s*    4  %+A"23dn$$r!   r   r   )r   r	   )r   r   )r   r   )r   r	   )r   r   )r   r	   r   r   r   r   )r   r	   r   r   )r   r	   )r   r   r   r	   r   r   )r   r	   )r   r   r   r	   r   r   r   r	   )	rR   rS   rT   rU   rW   )r   r	   rV   rX   rZ   r   r   r   r   r   r	   )rX   rY   rZ   )r   r   )r   r	   r[   r\   r]   c                 d   t          |          }	 t          | j        |          S # t          $ r |dk    rI| j        }|j        o8|j        o1|j        o*|j        o#|j        p|j	        p|j
        p|j        p|j         cY S t          j                            dt!          |          z            w xY w)Nr   zfeature %s not known)r@   getattrr)   AttributeErrorr   r   r   r   r   r   r   r   r   rC   rD   rF   rG   )r+   rH   xnameoptionss       r"   
getFeaturezDOMBuilder.getFeature   s    D!!	K4=%000 	K 	K 	Ky  -6 <#A<#,< $B< ")!? ";$+$>";$+$C"; %,$4"; %,$:	<	= = = '%%&<tDzz&IJJJ	Ks   & AB/?0B/c                     | j         r| j                             d |          }n"t                                          d |          }|                     |          S r(   )r/   resolveEntityr   parse)r+   uriinputs      r"   parseURIzDOMBuilder.parseURI   sU     	A'55dC@@EE%''55dC@@Ezz%   r!   c                     t          j         | j                  }| j        |_        | j        |_        |j        }|*|j        r#dd l}|j                            |j                  }| 	                    ||          S Nr   )
copyr)   r   r   
byteStreamsystemIdurllib.requestrequesturlopen_parse_bytestream)r+   rh   rb   fpurllibs        r"   rf   zDOMBuilder.parse   st    )DM**#0:'*:!!!!''77B%%b'222r!   c                 P    || j         vrt          d          t          d          )Nznot a legal actionzHaven't written this yet...)_legal_actions
ValueErrorNotImplementedError)r+   rh   cnodeactions       r"   parseWithContextzDOMBuilder.parseWithContext   s.    ,,,1222!"?@@@r!   c                 r    dd l }|j        j                            |          }|                    |          S rk   )xml.dom.expatbuilderrD   expatbuildermakeBuilder	parseFile)r+   streamrb   rC   builders        r"   rr   zDOMBuilder._parse_bytestream   s:    ####'&227;;  (((r!   )r
   r   r   r/   r   r   ACTION_REPLACEACTION_APPEND_AS_CHILDRENACTION_INSERT_AFTERACTION_INSERT_BEFORErv   r,   r0   r2   r5   r7   r:   r<   rL   r>   rQ   r?   rc   ri   rf   r{   rr   r    r!   r"   r   r   ,   s       NLFN !$&?)+?AN" " "# # #- - -! ! !) ) )    H H H9 9 9% % %;%)(+; 	&)(+;
 	; 	),+.; 	),+.; 	+.-0; 	+.-0; 	"%$';" 	'*),#;& 	'*),';* 	*+;0 	1;4 	-0/25;8 	-0/29;< 	! #=;@ 	! #A;D 	E;J  203 203	3 	3 	3 -+.  s; ; ;IzK K K$! ! !3 3 3A A A
) ) ) ) )r!   r   c                 R    |                                                      dd          S )N-_)lowerreplace)rH   s    r"   r@   r@      s     ::<<S)))r!   c                   *    e Zd ZdZd Zd Zd Zd ZdS )r   )_openerc                    t                      }||_        ||_        |                                                     |          |_        |                     |          |_        dd l}dd l	}|j
                            |          }|\  }}}	}
}}|	rT|	                    d          s?|                    |	          dz   }	|||	|
||f}|j
                            |          |_        |S )Nr   /)r   publicIdrn   _get_openeropenrm   _guess_media_encodingencoding	posixpathurllib.parserf   urlparseendswithdirname
urlunparsebaseURI)r+   r   rn   sourcer   rt   partsschemenetlocpathparamsqueryfragments                r"   re   zDOMEntityResolver.resolveEntity   s    !!"" ,,..33H== 44V<< 	'&&&&&&&%%h//8=5feX 	<c** 	<$$T**S0DFD&%AE#\44U;;FNr!   c                 r    	 | j         S # t          $ r# |                                 | _         | j         cY S w xY wr(   )r   r`   _create_openerr*   s    r"   r   zDOMEntityResolver._get_opener   sK    	 < 	  	  	 ..00DL<	 s   	 *66c                 <    dd l }|j                                        S rk   )ro   rp   build_opener)r+   rt   s     r"   r   z DOMEntityResolver._create_opener   s"    ~**,,,r!   c                     |j                                         }d|v r\|                                D ]I}|                    d          r0|                    dd          d                                         c S Hd S d S )NzContent-Typezcharset==r	   )rm   infogetplist
startswithsplitr   )r+   r   r   params       r"   r   z'DOMEntityResolver._guess_media_encoding   s     %%''T!! : :##J// : ;;sA..q17799999: "!: :r!   N)r
   r   r   	__slots__re   r   r   r   r    r!   r"   r   r      sU        I  ,     - - -: : : : :r!   r   c                   l    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd ZdS )r   rm   characterStream
stringDatar   r   rn   r   c                 h    d | _         d | _        d | _        d | _        d | _        d | _        d | _        d S r(   r   r*   s    r"   r,   zDOMInputSource.__init__  s8    #r!   c                     | j         S r(   rm   r*   s    r"   _get_byteStreamzDOMInputSource._get_byteStream  
    r!   c                     || _         d S r(   r   )r+   rm   s     r"   _set_byteStreamzDOMInputSource._set_byteStream  s    $r!   c                     | j         S r(   r   r*   s    r"   _get_characterStreamz#DOMInputSource._get_characterStream  s    ##r!   c                     || _         d S r(   r   )r+   r   s     r"   _set_characterStreamz#DOMInputSource._set_characterStream  s    .r!   c                     | j         S r(   r   r*   s    r"   _get_stringDatazDOMInputSource._get_stringData  r   r!   c                     || _         d S r(   r   )r+   datas     r"   _set_stringDatazDOMInputSource._set_stringData  s    r!   c                     | j         S r(   r   r*   s    r"   _get_encodingzDOMInputSource._get_encoding  
    }r!   c                     || _         d S r(   r   )r+   r   s     r"   _set_encodingzDOMInputSource._set_encoding       r!   c                     | j         S r(   r   r*   s    r"   _get_publicIdzDOMInputSource._get_publicId!  r   r!   c                     || _         d S r(   r   )r+   r   s     r"   _set_publicIdzDOMInputSource._set_publicId#  r   r!   c                     | j         S r(   rn   r*   s    r"   _get_systemIdzDOMInputSource._get_systemId&  r   r!   c                     || _         d S r(   r   )r+   rn   s     r"   _set_systemIdzDOMInputSource._set_systemId(  r   r!   c                     | j         S r(   r   r*   s    r"   _get_baseURIzDOMInputSource._get_baseURI+  s
    |r!   c                     || _         d S r(   r   r+   rg   s     r"   _set_baseURIzDOMInputSource._set_baseURI-  s    r!   N)r
   r   r   r   r,   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r      s        @I    % % %$ $ $/ / /      ! ! !  ! ! !  ! ! !      r!   r   c                   @    e Zd Z	 dZdZdZdZej        Z	d Z
d Zd ZdS )	DOMBuilderFilterr	   r$   r%   r&   c                     | j         S r(   )
whatToShowr*   s    r"   _get_whatToShowz DOMBuilderFilter._get_whatToShowB  r   r!   c                     | j         S r(   FILTER_ACCEPTr+   elements     r"   
acceptNodezDOMBuilderFilter.acceptNodeE      !!r!   c                     | j         S r(   r   r   s     r"   startContainerzDOMBuilderFilter.startContainerH  r   r!   N)r
   r   r   r   FILTER_REJECTFILTER_SKIPFILTER_INTERRUPTr   SHOW_ALLr   r   r   r   r    r!   r"   r   r   1  se         MMK$J  " " "" " " " "r!   r   c                   8    e Zd Z	 dZd Zd Zd Zd Zd Zd Z	dS )	
DocumentLSFc                     dS )NFr    r*   s    r"   
_get_asynczDocumentLS._get_asyncS  s    ur!   c                 H    |rt           j                            d          d S )Nz.asynchronous document loading is not supported)rC   rD   rE   )r+   flags     r"   
_set_asynczDocumentLS._set_asyncV  s7     	B'))@B B B	B 	Br!   c                      t          d          )Nz'haven't figured out what this means yetrx   r*   s    r"   abortzDocumentLS.abort[  s     "57 7 	7r!   c                      t          d          Nzhaven't written this yetr   r   s     r"   loadzDocumentLS.loada      !"<===r!   c                      t          d          r   r   )r+   r   s     r"   loadXMLzDocumentLS.loadXMLd  r   r!   c                     || }n'|j         | urt          j                                        |                                S r(   )ownerDocumentrC   rD   WrongDocumentErrtoxml)r+   snodes     r"   saveXMLzDocumentLS.saveXMLg  s>    =EE ,,'**,,,{{}}r!   N)
r
   r   r   async_r   r   r   r   r   r  r    r!   r"   r   r   N  sy        GF  B B B
7 7 7> > >> > >    r!   r   c                   (    e Zd ZdZdZd Zd Zd ZdS )DOMImplementationLSr	   r$   c                     |t           j                            d          || j        k    rt	                      S || j        k    rt           j                            d          t          d          )NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)rC   rD   rE   MODE_SYNCHRONOUSr   MODE_ASYNCHRONOUSrw   )r+   mode
schemaTypes      r"   createDOMBuilderz$DOMImplementationLS.createDOMBuilders  sw    !')).0 0 04(((<<4)))'))9; ; ;1222r!   c                      t          d          )Nz-the writer interface hasn't been written yet!r   r*   s    r"   createDOMWriterz#DOMImplementationLS.createDOMWriter~  s    !;= = 	=r!   c                     t                      S r(   )r   r*   s    r"   createDOMInputSourcez(DOMImplementationLS.createDOMInputSource  s    r!   N)r
   r   r   r	  r
  r  r  r  r    r!   r"   r  r  o  sM        	3 	3 	3= = =         r!   r  )rl   xml.domrC   xml.dom.NodeFilterr   __all__r   r   r@   objectr   r   r   r   r  r    r!   r"   <module>r     s   :   ) ) ) ) ) ) @
?
?       @a) a) a) a) a) a) a) a)H* * *): ): ): ): ): ): ): ):X. . . . .V . . .b" " " " " " " "4        B                   r!   