B
    2*\                 @   s<   d dl Z dddZi Zdd Zdd Zdd
dZdd ZdS )    Nzxml.dom.minidomzxml.dom.DOMImplementation)ZminidomZ4DOMc             C   s   |t | < d S )N)
registered)namefactory r   9C:\ALexclude\prg\programme\Python37\Lib\xml\dom\domreg.pyregisterDOMImplementation   s    	r   c             C   s&   x |D ]\}}|  ||sdS qW dS )Nr      )Z
hasFeature)domfeaturesfvr   r   r   _good_enough    s    r   r   c          	   C   s   dd l }d }t| }|r2t|i i dg}| S | r@t|   S tjjsbd|j	krbt|j	d dS t
|trtt|}x$t D ]}| }t||r~|S q~W xDt D ]8}yt|d}W n tk
r   wY nX t||r|S qW tdd S )Nr   getDOMImplementationZ
PYTHON_DOM)r   z$no suitable DOM implementation found)oswell_known_implementationsget
__import__r   r   sysflagsignore_environmentenviron
isinstancestr_parse_feature_stringvaluesr   keys	ExceptionImportError)r   r
   r   Zcreatormodr	   r   r   r   r   '   s0    




r   c             C   s   g }|   }d}t|}xp||k r|| }|d dkrDtd|f |d }d }||k rx|| }|d dkrx|d }|}|||f qW t|S )Nr   
0123456789zbad feature name: %rr   )splitlen
ValueErrorappendtuple)sr
   partsilengthZfeatureversionr   r   r   r   r   R   s"    
r   )Nr   )r   r   r   r   r   r   r   r   r   r   r   <module>	   s   
+