
•àWJ  ã               @   sR   d  d d d i Z  i  Z d d „  Z d d „  Z d f  d	 d
 „ Z d d „  Z d S)Zminidomzxml.dom.minidomZ4DOMzxml.dom.DOMImplementationc             C   s   | t  |  <d  S)N)Ú
registered)ÚnameÚfactory© r   ú;/afs/.cs/s/python-3.5.2/amd64_ubu14/lib/python3.5/domreg.pyÚregisterDOMImplementation   s    	r   c             C   s1   x* | D]" \ } } |  j  | | ƒ s d Sq Wd S)Né    é   )Z
hasFeature)ÚdomÚfeaturesÚfÚvr   r   r   Ú_good_enough   s    r   Nc             C   s0  d d  l  } d  } t j |  ƒ } | rI t | i  i  d g ƒ } | j ƒ  S|  rZ t |  ƒ  Sd | j k r} t d | j d ƒ St | t ƒ r˜ t	 | ƒ } x0 t j
 ƒ  D]" } | ƒ  } t | | ƒ r¥ | Sq¥ WxR t j ƒ  D]D } y t d | ƒ } Wn t k
 rwØ Yn Xt | | ƒ rØ | SqØ Wt d ƒ ‚ d  S)Nr   ÚgetDOMImplementationZ
PYTHON_DOMr   z$no suitable DOM implementation found)ÚosÚwell_known_implementationsÚgetÚ
__import__r   r   Ú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  } |  j  ƒ  } d } t | ƒ } x– | | k  r¼ | | } | d d k r` t d | f ƒ ‚ | d } d  } | | k  r¦ | | } | d d k r¦ | d } | } | j | | f ƒ q' Wt | ƒ S)Nr   Ú
0123456789zbad feature name: %rr   )ÚsplitÚlenÚ
ValueErrorÚappendÚtuple)Úsr
   ÚpartsÚiÚlengthZfeatureÚversionr   r   r   r   r   P   s"    



r   )r   r   r   r   r   r   r   r   r   r   Ú<module>
   s   +