
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,as0  ã                   @   s¢   d dl Z d dlZd dlZd dlmZ dddgZG dd„ dƒZG dd„ dƒZd	d
„ Z	G dd„ de
ƒZG dd„ de
ƒZG dd„ dƒZ[G dd„ dƒZG dd„ dƒZdS )é    N)Ú
NodeFilterÚ
DOMBuilderÚDOMEntityResolverÚDOMInputSourcec                   @   sX   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_entitiesZexternal_dtd_subsetÚvalidate_if_schemaZ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© r   r   ú7/opt/alt/python38/lib64/python3.8/xml/dom/xmlbuilder.pyr      s&   
r   c                   @   s&  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d„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdgdgdgdgdgdgd gd!gd"gd#gd"d$gd%gd&gd'gd(gd)gd*gd+gd,gd-gg dd!d"d$d(d.d'd+d-g	d/gd0gd1gd2œZd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ ZdS )=r   Nr   é   é   é   c                 C   s   t ƒ | _d S ©N)r   Ú_options©Úselfr   r   r   Ú__init__:   s    zDOMBuilder.__init__c                 C   s   | j S r!   ©ÚentityResolverr#   r   r   r   Ú_get_entityResolver=   s    zDOMBuilder._get_entityResolverc                 C   s
   || _ d S r!   r&   )r$   r'   r   r   r   Ú_set_entityResolver?   s    zDOMBuilder._set_entityResolverc                 C   s   | j S r!   ©r   r#   r   r   r   Ú_get_errorHandlerB   s    zDOMBuilder._get_errorHandlerc                 C   s
   || _ d S r!   r*   )r$   r   r   r   r   Ú_set_errorHandlerD   s    zDOMBuilder._set_errorHandlerc                 C   s   | j S r!   ©r   r#   r   r   r   Ú_get_filterG   s    zDOMBuilder._get_filterc                 C   s
   || _ d S r!   r-   )r$   r   r   r   r   Ú_set_filterI   s    zDOMBuilder._set_filterc                 C   sŒ   |   |¡rt|rdpd}z| jt|ƒ|f }W n( tk
rT   tj d|f ¡d ‚Y qˆX |D ]\}}t| j||ƒ qZntj 	dt
|ƒ ¡‚d S )Nr   r   zunsupported feature: %rzunknown feature: )ÚsupportsFeatureÚ	_settingsÚ_name_xformÚKeyErrorÚxmlÚdomÚNotSupportedErrÚsetattrr"   ÚNotFoundErrÚrepr)r$   ÚnameÚstateZsettingsÚvaluer   r   r   Ú
setFeatureL   s    
ÿÿzDOMBuilder.setFeaturec                 C   s   t | jt|ƒƒS r!   )Úhasattrr"   r2   )r$   r:   r   r   r   r0   Z   s    zDOMBuilder.supportsFeaturec                 C   s   t |ƒ|rdpdf}|| jkS )Nr   r   )r2   r1   )r$   r:   r;   Úkeyr   r   r   ÚcanSetFeature]   s    zDOMBuilder.canSetFeature©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   r   ©r   r   ©r   r   ©r   r   )rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   )r   r   )r   r   rU   rV   rW   c                 C   sŽ   t |ƒ}zt| j|ƒW S  tk
rˆ   |dkrp| j}|joj|joj|joj|joj|jph|j	ph|j
ph|jph|j  Y S tj dt|ƒ ¡‚Y nX d S )Nr   zfeature %s not known)r2   Úgetattrr"   ÚAttributeErrorr   r   r   r   r   r   r   r   r   r4   r5   r8   r9   )r$   r:   ZxnameÚoptionsr   r   r   Ú
getFeature£   s0    ÿþýÿþýüü	zDOMBuilder.getFeaturec                 C   s.   | j r| j  d |¡}ntƒ  d |¡}|  |¡S r!   )r'   ÚresolveEntityr   Úparse)r$   ÚuriÚinputr   r   r   ÚparseURIµ   s    zDOMBuilder.parseURIc                 C   sR   t   | j¡}| j|_| j|_|j}|d krF|jrFdd l}|j |j¡}|  	||¡S ©Nr   )
Úcopyr"   r   r   Ú
byteStreamÚsystemIdÚurllib.requestÚrequestZurlopenÚ_parse_bytestream)r$   r_   rZ   ÚfpÚurllibr   r   r   r]   ¼   s    zDOMBuilder.parsec                 C   s   || j krtdƒ‚tdƒ‚d S )Nznot a legal actionzHaven't written this yet...)Ú_legal_actionsÚ
ValueErrorÚNotImplementedError)r$   r_   ZcnodeÚactionr   r   r   ÚparseWithContextÆ   s    
zDOMBuilder.parseWithContextc                 C   s    dd l }|jj |¡}| |¡S ra   )Zxml.dom.expatbuilderr5   ZexpatbuilderZmakeBuilderZ	parseFile)r$   ÚstreamrZ   r4   Zbuilderr   r   r   rg   Ë   s    zDOMBuilder._parse_bytestream)r   r	   r
   r'   r   r   ZACTION_REPLACEZACTION_APPEND_AS_CHILDRENZACTION_INSERT_AFTERZACTION_INSERT_BEFORErj   r%   r(   r)   r+   r,   r.   r/   r=   r0   r@   r1   r[   r`   r]   rn   rg   r   r   r   r   r   -   sª    ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿ÷ÿÿÿÇ=
c                 C   s   |   ¡  dd¡S )Nú-Ú_)ÚlowerÚreplace)r:   r   r   r   r2   Ñ   s    r2   c                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )r   )Ú_openerc                 C   s˜   t ƒ }||_||_|  ¡  |¡|_|  |¡|_dd l}dd l	}|j
 |¡}|\}}}	}
}}|	r”|	 d¡s”| |	¡d }	|||	|
||f}|j
 |¡|_|S )Nr   ú/)r   ÚpublicIdrd   Ú_get_openerÚopenrc   Ú_guess_media_encodingÚencodingÚ	posixpathZurllib.parser]   ZurlparseÚendswithÚdirnameZ
urlunparseÚbaseURI)r$   rv   rd   Úsourcer{   ri   ÚpartsZschemeZnetlocÚpathZparamsZqueryZfragmentr   r   r   r\   Ø   s    zDOMEntityResolver.resolveEntityc                 C   s2   z| j W S  tk
r,   |  ¡ | _ | j  Y S X d S r!   )rt   rY   Ú_create_openerr#   r   r   r   rw   î   s
    
zDOMEntityResolver._get_openerc                 C   s   dd l }|j ¡ S ra   )re   rf   Zbuild_opener)r$   ri   r   r   r   r‚   õ   s    z DOMEntityResolver._create_openerc                 C   sF   |j  ¡ }d|krB| ¡ D ]&}| d¡r| dd¡d  ¡   S qd S )NzContent-Typezcharset=ú=r   )rc   ÚinfoZgetplistÚ
startswithÚsplitrr   )r$   r   r„   Zparamr   r   r   ry   ù   s
    

z'DOMEntityResolver._guess_media_encodingN)r   r	   r
   Ú	__slots__r\   rw   r‚   ry   r   r   r   r   r   Õ   s
   c                   @   sˆ   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd S )!r   ©rc   ÚcharacterStreamÚ
stringDatarz   rv   rd   r~   c                 C   s.   d | _ d | _d | _d | _d | _d | _d | _d S r!   rˆ   r#   r   r   r   r%     s    zDOMInputSource.__init__c                 C   s   | j S r!   ©rc   r#   r   r   r   Ú_get_byteStream  s    zDOMInputSource._get_byteStreamc                 C   s
   || _ d S r!   r‹   )r$   rc   r   r   r   Ú_set_byteStream  s    zDOMInputSource._set_byteStreamc                 C   s   | j S r!   ©r‰   r#   r   r   r   Ú_get_characterStream  s    z#DOMInputSource._get_characterStreamc                 C   s
   || _ d S r!   rŽ   )r$   r‰   r   r   r   Ú_set_characterStream  s    z#DOMInputSource._set_characterStreamc                 C   s   | j S r!   ©rŠ   r#   r   r   r   Ú_get_stringData  s    zDOMInputSource._get_stringDatac                 C   s
   || _ d S r!   r‘   )r$   Údatar   r   r   Ú_set_stringData  s    zDOMInputSource._set_stringDatac                 C   s   | j S r!   ©rz   r#   r   r   r   Ú_get_encoding  s    zDOMInputSource._get_encodingc                 C   s
   || _ d S r!   r•   )r$   rz   r   r   r   Ú_set_encoding  s    zDOMInputSource._set_encodingc                 C   s   | j S r!   ©rv   r#   r   r   r   Ú_get_publicId"  s    zDOMInputSource._get_publicIdc                 C   s
   || _ d S r!   r˜   )r$   rv   r   r   r   Ú_set_publicId$  s    zDOMInputSource._set_publicIdc                 C   s   | j S r!   ©rd   r#   r   r   r   Ú_get_systemId'  s    zDOMInputSource._get_systemIdc                 C   s
   || _ d S r!   r›   )r$   rd   r   r   r   Ú_set_systemId)  s    zDOMInputSource._set_systemIdc                 C   s   | j S r!   ©r~   r#   r   r   r   Ú_get_baseURI,  s    zDOMInputSource._get_baseURIc                 C   s
   || _ d S r!   rž   ©r$   r^   r   r   r   Ú_set_baseURI.  s    zDOMInputSource._set_baseURIN)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    	c                   @   s:   e Zd ZdZdZdZdZejZ	dd„ Z
dd„ Zd	d
„ ZdS )ÚDOMBuilderFilterr   r   r   r    c                 C   s   | j S r!   )Ú
whatToShowr#   r   r   r   Ú_get_whatToShowC  s    z DOMBuilderFilter._get_whatToShowc                 C   s   | j S r!   ©ÚFILTER_ACCEPT©r$   Zelementr   r   r   Ú
acceptNodeF  s    zDOMBuilderFilter.acceptNodec                 C   s   | j S r!   r¥   r§   r   r   r   ÚstartContainerI  s    zDOMBuilderFilter.startContainerN)r   r	   r
   r¦   ZFILTER_REJECTZFILTER_SKIPZFILTER_INTERRUPTr   ZSHOW_ALLr£   r¤   r¨   r©   r   r   r   r   r¢   2  s   
r¢   c                   @   s@   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )Ú
DocumentLSFc                 C   s   dS )NFr   r#   r   r   r   Ú
_get_asyncT  s    zDocumentLS._get_asyncc                 C   s   |rt j d¡‚d S )Nz.asynchronous document loading is not supported)r4   r5   r6   )r$   Úflagr   r   r   Ú
_set_asyncW  s    ÿzDocumentLS._set_asyncc                 C   s   t dƒ‚d S )Nz'haven't figured out what this means yet©rl   r#   r   r   r   Úabort\  s    ÿzDocumentLS.abortc                 C   s   t dƒ‚d S ©Nzhaven't written this yetr®   r    r   r   r   Úloadb  s    zDocumentLS.loadc                 C   s   t dƒ‚d S r°   r®   )r$   r   r   r   r   ÚloadXMLe  s    zDocumentLS.loadXMLc                 C   s*   |d kr| }n|j | k	r"tj ¡ ‚| ¡ S r!   )ZownerDocumentr4   r5   ZWrongDocumentErrZtoxml)r$   Zsnoder   r   r   ÚsaveXMLh  s
    

zDocumentLS.saveXMLN)
r   r	   r
   Zasync_r«   r­   r¯   r±   r²   r³   r   r   r   r   rª   O  s   rª   c                   @   s,   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	S )
ÚDOMImplementationLSr   r   c                 C   sF   |d k	rt j d¡‚|| jkr$tƒ S || jkr:t j d¡‚tdƒ‚d S )NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)r4   r5   r6   ÚMODE_SYNCHRONOUSr   ÚMODE_ASYNCHRONOUSrk   )r$   ÚmodeZ
schemaTyper   r   r   ÚcreateDOMBuildert  s    ÿ

ÿz$DOMImplementationLS.createDOMBuilderc                 C   s   t dƒ‚d S )Nz-the writer interface hasn't been written yet!r®   r#   r   r   r   ÚcreateDOMWriter  s    ÿz#DOMImplementationLS.createDOMWriterc                 C   s   t ƒ S r!   )r   r#   r   r   r   ÚcreateDOMInputSourceƒ  s    z(DOMImplementationLS.createDOMInputSourceN)r   r	   r
   rµ   r¶   r¸   r¹   rº   r   r   r   r   r´   p  s
   r´   )rb   ÚwarningsZxml.domr4   Zxml.dom.NodeFilterr   Ú__all__r   r   r2   Úobjectr   r   r¢   rª   r´   r   r   r   r   Ú<module>   s   
  %,1!