
    "Kbu                     >    d Z ddlZd	dZd
dZ G d de          ZdS )zApplies a fix to CR LF TAB handling in xml.dom.

Fixes this: http://code.google.com/p/chromium/issues/detail?id=76293
Working around this: http://bugs.python.org/issue5752
TODO(bradnelson): Consider dropping this when we drop XP support.
    NFc                 X   |                     dd                               dd          }|                     dd                               dd          }|r>|                     d	d
                               dd                               dd          }|                     |           dS )zWrites datachars to writer.&z&amp;<z&lt;"z&quot;>z&gt;z&#xD;
z&#xA;	z&#x9;N)replacewrite)writerdata	is_attribs      -/usr/lib/python3/dist-packages/gyp/xml_fix.py_Replacement_write_datar      s    	c7	#	#	+	+C	8	8$	dH	%	%	-	-c6	:	:$ <<g wg wg  	 	,,t     c                 N   |                     |dz   | j        z              |                                 }t          |                                          }|D ]L}|                     d|z             t          |||         j        d           |                     d           M| j        ra|                     d|z             | j        D ]}|                    |||z   ||           |                     |d| j        d|           d S |                     d	|z             d S )
Nr   z %s="T)r   r   z>%sz</r   z/>%s)	r   tagName_get_attributessortedkeysr   value
childNodeswritexml)	selfr   indent	addindentnewlattrsa_namesa_namenodes	            r   _Replacement_writexmlr$      s8    	,,vczDL()))



 
 %5::<<  '  f
LLF"###FE&M$74HHHH
LL	_  
LL A A
mmFFY.	4@@@@
LLdd;<<<<<
LL$r   c                   $    e Zd ZdZd Zd Zd ZdS )XmlFixz7Object to manage temporary patching of xml.dom.minidom.c                     t           j        j        j        | _        t           j        j        j        j        | _        t          t           j        j        _        t          t           j        j        j        _        d S N)	xmldomminidom_write_data
write_dataElementr   r   r$   r   s    r   __init__zXmlFix.__init__5   sB    go1DOGO+4DM"9CGO'<CGO$$$r   c                     | j         rD| j         t          j        j        _        | j        t          j        j        j        _        d | _         d S d S r(   )r-   r)   r*   r+   r,   r   r.   r/   s    r   CleanupzXmlFix.Cleanup=   s@     $(Ocgo!)-cgo&dooo r   c                 .    |                                   d S r(   )r2   r/   s    r   __del__zXmlFix.__del__C   s    LLNNNNNr   N)__name__
__module____qualname____doc__r0   r2   r4    r   r   r&   r&   2   sG        ??= = =      r   r&   )F)r   r   r   )r8   xml.dom.minidomr)   r   r$   objectr&   r9   r   r   <module>r<      sy   
     	 	 	 	       ,    V     r   