iddlmZ ddlmZddlmZmZddlmZGdde Z Gdd e Z Gd d e Z d S) )absolute_import)contextmanager)Element _escape_cdata)incremental_treeceZdZdS)LxmlSyntaxErrorN)__name__ __module__ __qualname__@C:\PYTHON\_runtimes\venv\Lib\site-packages\et_xmlfile/xmlfile.pyr r sDrr cBeZdZdZdZeddZdZdZdZ dS) _IncrementalFileWriterz.Replacement for _IncrementalFileWriter of lxmlcng|_||_d|_tj|_d|_dS)NF)_element_stack_file _have_rootrcurrent_global_nsmap global_nsmapis_html)self output_files r__init__z_IncrementalFileWriter.__init__s4   ,ACC rNc +K|rUd|vrQd|vr!|d|dkrtd|}|d|d<d|_|i}t |fd|i|}d|_d|_|jrd}|jd\}}} nd}i}d}i} tj |j |||j d|j || || \}}}} } |j ||| fdV|j| d |d |jr)| t|jdSdS) z1Create a new xml element using a context manager.Nz?Found None and "" as default nsmap prefixes with different URIsTattribF) nsmap_scopershort_empty_elementsris_root uri_to_prefixdefault_ns_attr_prefix new_nsmapz) ValueErrorcopypoprrtexttailrrwrite_elem_startrrrappendr) rtagrnsmap_extraelemr#r!r%r$next_remains_roots relementz_IncrementalFileWriter.elements  (TU]]U{{uRyE$K77 UJJLLE $E"I >Fs4464V44    G #B'  & GK%) "M  - J #*!&L'#9    "   ""&      !!! ;;;; 9 1 JJ}TY// 0 0 0 0 0 1 1rc xt|tr9|jst|t |dS|js|jrt|jrd}|jd\}}}nd}i}d}i}tj|j|||j d|j ||| dS)zWrite a string or subelement.Fr TN)r!rr"rr#r$r%) isinstancestrrr rrrr_serialize_ns_xmlrr)rargr#r!r%r$s rwritez_IncrementalFileWriter.write_s c3   & (%''' JJ}S)) * * * * *& (4? (%'''" # '+ *!M )-& "  . '!.%) +'=      rcdSNr)rs r __enter__z _IncrementalFileWriter.__enter__s rc0|jstdSr<)rr rtypevalue tracebacks r__exit__z_IncrementalFileWriter.__exit__s" $!## # $ $r)NN) r r r __doc__rrr4r:r=rCrrrrrsx88>1>1>1^>1@###J   $$$$$rrc&eZdZdZddZdZdZdS) xmlfilez4Context manager that can replace lxml.etree.xmlfile.Futf-8c>||_||_||_d|_dSr<)r_closeencoding writer_cm)rrbufferedrJcloses rrzxmlfile.__init__s"     rctj|j|j|_|j\}}t |S)N)rJ)r _get_writerrrJrKr=r)rwriterdeclared_encodings rr=zxmlfile.__enter__sD)5dj4=YYY$(N$<$<$>$>!!%f---rc|jr|j||||jr|jdSdSr<)rKrCrIrrMr?s rrCzxmlfile.__exit__sT > < N # #D% ; ; ; ;  J         rN)FrGF)r r r rDrr=rCrrrrFrFsL>> ... rrFN) __future__r contextlibrxml.etree.ElementTreerrrr Exceptionr objectrrFrrrrXs&&&&&&Q&%%%%%      i   u$u$u$u$u$Vu$u$u$pfr