o ¬£`þ§ã@sLddgZddlmZddlTGdd„deƒZGdd„dƒZGdd„dƒZd S) ÚEmitterÚ EmitterErroré)Ú YAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú./usr/lib/python3/dist-packages/yaml/emitter.pyrsc@seZdZdd„ZdS)ÚScalarAnalysisc Cs4||_||_||_||_||_||_||_||_dS©N©ÚscalarÚemptyÚ multilineÚallow_flow_plainÚallow_block_plainÚallow_single_quotedÚallow_double_quotedÚ allow_block) Úselfrrrrrrrrr r r Ú__init__s zScalarAnalysis.__init__N)rrrrr r r r r s r c@s2eZdZdddœZ  ddd„Zdd„Zd d „Zd d „Zd d„ZdŽdd„Z dd„Z dd„Z dd„Z ddd„Z dd„Zdd„Z  ddd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zdd8d9„Zd:d;„Zdd?„Z d@dA„Z!dBdC„Z"dDdE„Z#dFdG„Z$dHdI„Z%dJdK„Z&dLdM„Z'dNdO„Z(dPdQ„Z)dRdS„Z*dTdU„Z+dVdW„Z,dXdY„Z-dZd[„Z.d\d]„Z/d^d_„Z0d`da„Z1dbdc„Z2ddde„Z3 dŽdfdg„Z4dhdi„Z5d‘djdk„Z6dldm„Z7dndo„Z8d’dqdr„Z9dsdtdudvdwdxdydzd{d|d}d~dd€dd‚œZ:d’dƒd„„Z;d…d†„Zd’d‹dŒ„Z?dS)“rú!z!!)rztag:yaml.org,2002:NcCsö||_d|_g|_|j|_g|_d|_g|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_||_||_d|_|rQd|krLdkrQnn||_d|_|r`||jdkr`||_d|_|d vrj||_d|_d|_d|_d|_d|_dS) NéFTéré éPÚ )ú rz )ÚstreamÚencodingÚstatesÚexpect_stream_startÚstateÚeventsÚeventÚindentsÚindentÚ flow_levelÚ root_contextÚsequence_contextÚmapping_contextÚsimple_key_contextÚlineÚcolumnÚ whitespaceÚ indentionÚ open_endedÚ canonicalÚ allow_unicodeÚ best_indentÚ best_widthÚbest_line_breakÚ tag_prefixesÚprepared_anchorÚ prepared_tagÚanalysisÚstyle)rrr2r'Úwidthr3Z line_breakr r r r&sD zEmitter.__init__cCsg|_d|_dSr )r!r#©rr r r Údisposejs zEmitter.disposecCs@|j |¡| ¡s|j d¡|_| ¡d|_| ¡r dSdS©Nr)r$ÚappendÚneed_more_eventsÚpopr%r#©rr%r r r Úemitos ýz Emitter.emitcCsT|jsdS|jd}t|tƒr| d¡St|tƒr| d¡St|tƒr(| d¡SdS)NTrrréF)r$Ú isinstanceÚDocumentStartEventÚ need_eventsÚSequenceStartEventÚMappingStartEventrCr r r rAxs       zEmitter.need_more_eventscCsvd}|jdd…D](}t|ttfƒr|d7}nt|ttfƒr#|d8}nt|tƒr*d}|dkr1dSq t|jƒ|dkS)NrréÿÿÿÿF)r$rFrGÚCollectionStartEventÚDocumentEndEventZCollectionEndEventÚStreamEndEventÚlen)rÚcountÚlevelr%r r r rH…s   ÿzEmitter.need_eventsFcCsN|j |j¡|jdur|r|j|_dSd|_dS|s%|j|j7_dSdSr?)r&r@r'r4)rÚflowÚ indentlessr r r Úincrease_indent’s   ÿzEmitter.increase_indentcCsLt|jtƒr|jjrt|jdƒs|jj|_| ¡|j|_dSt d|jƒ‚)Nr z%expected StreamStartEvent, but got %s) rFr%ZStreamStartEventr ÚhasattrrÚwrite_stream_startÚexpect_first_document_startr#rr=r r r r" s   ÿzEmitter.expect_stream_startcCstd|jƒ‚)Nzexpected nothing, but got %s)rr%r=r r r Úexpect_nothingªszEmitter.expect_nothingcCó |jddS©NT)Úfirst)Úexpect_document_startr=r r r rW¯ó z#Emitter.expect_first_document_startc Csht|jtƒr|jjs|jjr|jr| dd¡| ¡|jjr+| |jj¡}|  |¡|j   ¡|_ |jjr]t |jj ¡ƒ}|D]}|jj|}||j |<| |¡}| |¡}| ||¡q?|ov|jj ov|j ov|jj ov|jj ov| ¡ }|sŠ| ¡| dd¡|jrŠ| ¡|j|_dSt|jtƒr­|jr£| dd¡| ¡| ¡|j|_dStd|jƒ‚)Nú...Tú---z'expected DocumentStartEvent, but got %s)rFr%rGÚversionZtagsr1Úwrite_indicatorÚ write_indentÚprepare_versionÚwrite_version_directiveÚDEFAULT_TAG_PREFIXESÚcopyr7ÚsortedÚkeysÚprepare_tag_handleÚprepare_tag_prefixÚwrite_tag_directiveÚexplicitr2Úcheck_empty_documentÚexpect_document_rootr#rNÚwrite_stream_endrXr) rr[Ú version_textZhandlesÚhandleÚprefixÚ handle_textÚ prefix_textÚimplicitr r r r\²sL        ÿÿþ     ÿzEmitter.expect_document_startcCsRt|jtƒr"| ¡|jjr| dd¡| ¡| ¡|j|_dSt d|jƒ‚)Nr^Tz%expected DocumentEndEvent, but got %s) rFr%rMrbrlraÚ flush_streamr\r#rr=r r r Úexpect_document_endÖs   ÿzEmitter.expect_document_endcCs|j |j¡|jdddS)NT)Úroot)r!r@rwÚ expect_noder=r r r rnâszEmitter.expect_document_rootcCsü||_||_||_||_t|jtƒr| ¡dSt|jtt fƒrw|  d¡|  ¡t|jtƒr5|  ¡dSt|jt ƒrU|jsI|jsI|jjsI| ¡rO| ¡dS| ¡dSt|jtƒru|jsi|jsi|jjsi| ¡ro| ¡dS| ¡dSdStd|jƒ‚)Nú&zexpected NodeEvent, but got %s)r)r*r+r,rFr%Ú AliasEventÚ expect_aliasÚ ScalarEventrLÚprocess_anchorÚ process_tagÚ expect_scalarrIr(r2Z flow_styleÚcheck_empty_sequenceÚexpect_flow_sequenceÚexpect_block_sequencerJÚcheck_empty_mappingÚexpect_flow_mappingÚexpect_block_mappingr)rrxÚsequenceÚmappingÚ simple_keyr r r ryès2      ÿ   ÿ  ûzEmitter.expect_nodecCs.|jjdur tdƒ‚| d¡|j ¡|_dS)Nz!anchor is not specified for aliasr)r%Úanchorrr~r!rBr#r=r r r r|s  zEmitter.expect_aliascCs0|jdd| ¡|j ¡|_|j ¡|_dS)NT©rR)rTÚprocess_scalarr&rBr'r!r#r=r r r r€ s  zEmitter.expect_scalarcCó6|jdddd|jd7_|jdd|j|_dS)Nú[T©r/rr‹)rar(rTÚexpect_first_flow_sequence_itemr#r=r r r r‚ó  zEmitter.expect_flow_sequencecCszt|jtƒr!|j ¡|_|jd8_| dd¡|j ¡|_ dS|j s*|j |j kr.|  ¡|j |j¡|jdddS)Nrú]FT©r‡)rFr%ÚSequenceEndEventr&rBr'r(rar!r#r2r.r5rbr@Úexpect_flow_sequence_itemryr=r r r rs   z'Emitter.expect_first_flow_sequence_itemcCs t|jtƒr.|j ¡|_|jd8_|jr | dd¡|  ¡| dd¡|j  ¡|_ dS| dd¡|js=|j |j krA|  ¡|j  |j¡|jdddS)Nrú,Fr’Tr“)rFr%r”r&rBr'r(r2rarbr!r#r.r5r@r•ryr=r r r r•$s     z!Emitter.expect_flow_sequence_itemcCr)Nú{Trrr‹)rar(rTÚexpect_first_flow_mapping_keyr#r=r r r r…6r‘zEmitter.expect_flow_mappingcCs´t|jtƒr!|j ¡|_|jd8_| dd¡|j ¡|_ dS|j s*|j |j kr.|  ¡|j sE| ¡rE|j |j¡|jddddS| dd¡|j |j¡|jdddS)Nrú}FT©rˆr‰ú?©rˆ)rFr%ÚMappingEndEventr&rBr'r(rar!r#r2r.r5rbÚcheck_simple_keyr@Ú expect_flow_mapping_simple_valueryÚexpect_flow_mapping_valuer=r r r r˜<s    z%Emitter.expect_first_flow_mapping_keycCsÚt|jtƒr.|j ¡|_|jd8_|jr | dd¡|  ¡| dd¡|j  ¡|_ dS| dd¡|js=|j |j krA|  ¡|jsX| ¡rX|j  |j¡|jddddS| dd¡|j  |j¡|jdddS) Nrr–Fr™Tršr›rœ)rFr%rr&rBr'r(r2rarbr!r#r.r5ržr@rŸryr r=r r r Úexpect_flow_mapping_keyMs"      zEmitter.expect_flow_mapping_keycCó*| dd¡|j |j¡|jdddS©Nú:FTrœ)rar!r@r¡ryr=r r r rŸbó z(Emitter.expect_flow_mapping_simple_valuecCsD|js |j|jkr | ¡| dd¡|j |j¡|jdddS)Nr¤Trœ) r2r.r5rbrar!r@r¡ryr=r r r r gs  z!Emitter.expect_flow_mapping_valuecCs(|jo|j }|jd|d|j|_dS)NF)rRrS)r+r0rTÚ expect_first_block_sequence_itemr#)rrSr r r rƒps zEmitter.expect_block_sequencecCrYrZ)Úexpect_block_sequence_itemr=r r r r¦ur]z(Emitter.expect_first_block_sequence_itemcCsb|st|jtƒr|j ¡|_|j ¡|_dS| ¡|j dddd|j  |j ¡|j dddS)Nú-T©r0r“) rFr%r”r&rBr'r!r#rbrar@r§ry©rr[r r r r§xs z"Emitter.expect_block_sequence_itemcCs|jdd|j|_dS)NFr‹)rTÚexpect_first_block_mapping_keyr#r=r r r r†„s  zEmitter.expect_block_mappingcCrYrZ)Úexpect_block_mapping_keyr=r r r r«ˆr]z&Emitter.expect_first_block_mapping_keycCsŠ|st|jtƒr|j ¡|_|j ¡|_dS| ¡|  ¡r.|j  |j ¡|j ddddS|j dddd|j  |j¡|j dddS)NTršr›r©rœ)rFr%rr&rBr'r!r#rbržr@Ú!expect_block_mapping_simple_valueryraÚexpect_block_mapping_valuerªr r r r¬‹s z Emitter.expect_block_mapping_keycCr¢r£)rar!r@r¬ryr=r r r r­™r¥z)Emitter.expect_block_mapping_simple_valuecCs6| ¡|jdddd|j |j¡|jdddS)Nr¤Tr©rœ)rbrar!r@r¬ryr=r r r r®žsz"Emitter.expect_block_mapping_valuecCó"t|jtƒo|jot|jdtƒSr?)rFr%rIr$r”r=r r r r¦óÿzEmitter.check_empty_sequencecCr¯r?)rFr%rJr$rr=r r r r„ªr°zEmitter.check_empty_mappingcCsNt|jtƒr |js dS|jd}t|tƒo&|jduo&|jduo&|jo&|jdkS)NFrÚ) rFr%rGr$r}rŠÚtagruÚvaluerCr r r rm®s ÿÿÿzEmitter.check_empty_documentcCsd}t|jtƒr"|jjdur"|jdur| |jj¡|_|t|jƒ7}t|jttfƒrD|jj durD|j dur=|  |jj ¡|_ |t|j ƒ7}t|jtƒr_|j durW|  |jj¡|_ |t|j jƒ7}|dko€t|jtƒp€t|jtƒox|j j ox|j j p€| ¡p€| ¡S)Nré€)rFr%Z NodeEventrŠr8Úprepare_anchorrOr}rLr²r9Ú prepare_tagr:Úanalyze_scalarr³rr{rrrr„)rÚlengthr r r ržµs2  ÿ    ÿþýýzEmitter.check_simple_keycCsR|jjdur d|_dS|jdur| |jj¡|_|jr$| ||jd¡d|_dS)NT)r%rŠr8rµra)rÚ indicatorr r r r~Ës   zEmitter.process_anchorcCsð|jj}t|jtƒrF|jdur| ¡|_|jr|dur6|jdkr&|jjds1|jdkr6|jjdr6d|_dS|jjdrE|durEd}d|_n|jrM|durV|jjrVd|_dS|dur^t dƒ‚|jduri|  |¡|_|jrs|  |jd¡d|_dS)Nr±rrrztag is not specifiedT) r%r²rFr}r;Úchoose_scalar_styler2rur9rr¶ra)rr²r r r rÕs:   ÿ ÿþ þ€   zEmitter.process_tagcCsÜ|jdur | |jj¡|_|jjdks|jrdS|jjs=|jjdr=|jr-|jjs=|jj s=|j r4|jj s;|j s=|jj r=dS|jjrU|jjdvrU|j sU|jsU|jj rU|jjS|jjr_|jjdkrl|jjrl|jrj|jj sldSdS)Nú"rr±z|>ú')r:r·r%r³r;r2rur,rrr(rrrrr=r r r rºîs@ ÿÿþþýý ÿÿÿzEmitter.choose_scalar_stylecCsÂ|jdur | |jj¡|_|jdur| ¡|_|j }|jdkr)| |jj|¡n0|jdkr7|  |jj|¡n"|jdkrD|  |jj¡n|jdkrQ|  |jj¡n|  |jj|¡d|_d|_dS)Nr»r¼ú>ú|) r:r·r%r³r;rºr,Úwrite_double_quotedrÚwrite_single_quotedÚ write_foldedÚ write_literalÚ write_plain)rÚsplitr r r rŒs        zEmitter.process_scalarcCs,|\}}|dkrtd||fƒ‚d||fS)Nrzunsupported YAML version: %d.%dz%d.%d©r)rr`ÚmajorÚminorr r r rcs zEmitter.prepare_versioncCs |stdƒ‚|ddks|ddkrtd|ƒ‚|dd…D]/}d|kr*dksMnd |kr5d ksMnd |kr@d ksMn|d vsMtd||fƒ‚q|S)Nztag handle must not be emptyrrrKz*tag handle must start and end with '!': %rrÚ0Ú9ÚAÚZÚaÚzú-_z*invalid character %r in the tag handle: %rrÅ)rrqÚchr r r ri!s Bÿÿ€zEmitter.prepare_tag_handlecCs |stdƒ‚g}d}}|ddkrd}|t|ƒkrt||}d|kr(dksCnd|kr3dksCnd |kr>d ksCn|d vrH|d7}n&||krU| |||…¡|d}}| d ¡}|D] }| d t|ƒ¡qb|t|ƒks||kr| |||…¡d |¡S)Nztag prefix must not be emptyrrrrÈrÉrÊrËrÌrÍz-;/?!:@&=+$,_.~*'()[]úutf-8ú%%%02Xr±)rrOr@ÚencodeÚordÚjoin)rrrÚchunksÚstartÚendrÏÚdatar r r rj-s,  Bÿ    õ  zEmitter.prepare_tag_prefixc Csˆ|stdƒ‚|dkr |Sd}|}t|j ¡ƒ}|D] }| |¡r9|dks,t|ƒt|ƒkr9|j|}|t|ƒd…}qg}d}}|t|ƒkr¦||} d| krTdkswnd| kr_dkswnd| krjd kswn| d vsw| dkr||dkr||d 7}n$||kr‰| |||…¡|d }}|  d ¡} | D] } | d | ¡q–|t|ƒksF||kr³| |||…¡d |¡} |rÀd|| fSd| S)Nztag must not be emptyrrrÈrÉrÊrËrÌrÍz-;/?:@&=+$,_.~*'()[]rrÐrÑr±z%s%sz!<%s>) rrgr7rhÚ startswithrOr@rÒrÔ) rr²rqÚsuffixÚprefixesrrrÕrÖr×rÏrØZ suffix_textr r r r¶DsR ÿÿ € Bÿþþ    ô   zEmitter.prepare_tagcCst|stdƒ‚|D]/}d|krdks7nd|krdks7nd|kr*dks7n|dvs7td ||fƒ‚q|S) Nzanchor must not be emptyrÈrÉrÊrËrÌrÍrÎz&invalid character %r in the anchor: %rrÅ)rrŠrÏr r r rµhsBÿÿ€zEmitter.prepare_anchorc Cs |st|ddddddddSd}d}d}d}d}d}d}d} d} d} | d¡s,| d¡r0d}d}d} t|ƒdkp=|ddv} d}d}d}|t|ƒkr3||}|dkrp|d vr[d}d}|d vred}| red}|d kro| rod}d}n|d vrvd}|d kr€d}| r€d}|dkrŠ| rŠd}d}|dvrd}|dksÓd|krždksÓn|dksÅd|kr­dksÅnd|kr¸dksÅnd|krÃdkrÑnn |dkrÑd}|jsÐd}nd}|dkrð|dkrÝd}|t|ƒdkrçd}|rëd} d}d}n$|dvr|dkrûd}|t|ƒdkrd} |r d} d}d}nd}d}|d7}|dv} |dt|ƒkp,||ddv} |t|ƒksKd}d}d}d}d}|sI|sI|sI| rMd}}|rRd}| r[d}}}| sa|rid}}}}|rpd}}|rud}|rzd}t|d||||||dS)NTFr r_r^ru …

rz#,[]{}&*!|>'"%@`z?:r¨z,?[]{}r¤ú#õ …

rú ú~õÂ…õ õ퟿õõ�uð€€uô¿¿õ)r rÙrOr3)rrZblock_indicatorsZflow_indicatorsZ line_breaksZspecial_charactersÚ leading_spaceZ leading_breakZtrailing_spaceZtrailing_breakZ break_spaceZ space_breakZpreceded_by_whitespaceZfollowed_by_whitespaceZprevious_spaceZprevious_breakÚindexrÏZunicode_charactersrrrrrr r r r·rsþý  ÿ € ÿÿþ þþ€ ÿ ½G ÿÿ   ÿúzEmitter.analyze_scalarcCst|jdƒr |j ¡dSdS)NÚflush)rUrrèr=r r r rvs ÿzEmitter.flush_streamcCs2|jr|j d¡r|j d |j¡¡dSdSdS)Nzutf-16rå)r rÙrÚwriterÒr=r r r rVsÿzEmitter.write_stream_startcCs | ¡dSr )rvr=r r r ror]zEmitter.write_stream_endcCsd|js|s|}nd|}||_|jo||_|jt|ƒ7_d|_|jr*| |j¡}|j |¡dS)NrÞF) r/r0r.rOr1r rÒrré)rr¹Zneed_whitespacer/r0rØr r r ra s   zEmitter.write_indicatorcCs||jpd}|jr|j|ks|j|kr|js| ¡|j|kr|dvr_|||…D]}|dkrO| ¡qD| |¡qD|dur]| ¡|}n'|dush|dvr‡|||…}|jrw| |j¡}|j  |¡|dur…| ¡|}|dur|dv}|d7}|t|ƒks(dSdS) Nr¾TrKrrrÝrr) r rar1rêrOrbr rÒrré) rrír rïrÖr×rÏrðrØr r r rÂsB     €   çzEmitter.write_literalc Csú|jrd|_|s dS|js'd}|jt|ƒ7_|jr!| |j¡}|j |¡d|_d|_ d}d}d}}|t|ƒkrûd}|t|ƒkrG||}|r‡|dkr†|d|krf|j|j krf|rf|  ¡d|_d|_ n|||…}|jt|ƒ7_|jr~| |j¡}|j |¡|}n\|r»|dvrº||dkr—|  ¡|||…D]} | dkr¨|  ¡q|  | ¡q|  ¡d|_d|_ |}n(|dusÃ|dvrã|||…}|jt|ƒ7_|jrÛ| |j¡}|j |¡|}|durï|dk}|dv}|d7}|t|ƒks;dSdS) NTrÞFrrrÝrrì) r)r1r/r.rOr rÒrrér0r5rbrê) rrírÄrØrîrïrÖr×rÏrðr r r rÃ8sr       €   €   ×zEmitter.write_plain)NNNNN)FF)F)FFFFr )T)@rrrrerr>rDrArHrTr"rXrWr\rwrnryr|r€r‚rr•r…r˜r¡rŸr rƒr¦r§r†r«r¬r­r®rr„rmržr~rrºrŒrcrirjr¶rµr·rvrVrorarbrêrdrkrÀrr¿r rÁrÂrÃr r r r rsªþ ÿD    $  ÿ       $ # ÿ   7ñ 6 6#N)Ú__all__Úerrorrr$rr rr r r r Ús