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'Úwidthr3Ú 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ÚMappingStartEventrDr r r rBxs       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$rGrHÚCollectionStartEventÚDocumentEndEventÚCollectionEndEventÚStreamEndEventÚlen)rÚcountÚlevelr%r r r rI…s   ÿzEmitter.need_eventsFcCsN|j |j¡|jdur|r|j|_dSd|_dS|s%|j|j7_dSdSr@)r&rAr'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) rGr%ÚStreamStartEventr Ú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 rZ¯ó 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)rGr%rHÚversionÚtagsr1Ú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#rPÚwrite_stream_endr[r) rr^Ú version_textÚhandlesÚhandleÚprefixÚ handle_textÚ prefix_textÚimplicitr r r r_²sL        ÿÿþ     ÿzEmitter.expect_document_startcCsRt|jtƒr"| ¡|jjr| dd¡| ¡| ¡|j|_dSt d|jƒ‚)NraTz%expected DocumentEndEvent, but got %s) rGr%rNrfrpreÚ flush_streamr_r#rr>r r r Úexpect_document_endÖs   ÿzEmitter.expect_document_endcCs|j |j¡|jdddS)NT)Úroot)r!rAr|Ú expect_noder>r r r rrâ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,rGr%Ú AliasEventÚ expect_aliasÚ ScalarEventrMÚprocess_anchorÚ process_tagÚ expect_scalarrJr(r2Ú flow_styleÚcheck_empty_sequenceÚexpect_flow_sequenceÚexpect_block_sequencerKÚcheck_empty_mappingÚexpect_flow_mappingÚexpect_block_mappingr)rr}ÚsequenceÚmappingÚ simple_keyr r r r~ès2      ÿ   ÿ  ûzEmitter.expect_nodecCs.|jjdur tdƒ‚| d¡|j ¡|_dS)Nz!anchor is not specified for aliasr)r%Úanchorrrƒr!rCr#r>r r r rs  zEmitter.expect_aliascCs0|jdd| ¡|j ¡|_|j ¡|_dS)NT©rT)rVÚprocess_scalarr&rCr'r!r#r>r r r r… s  zEmitter.expect_scalarcCó6|jdddd|jd7_|jdd|j|_dS)Nú[T©r/rr‘)rer(rVÚ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)rGr%ÚSequenceEndEventr&rCr'r(rer!r#r2r.r5rfrAÚexpect_flow_sequence_itemr~r>r r r r–s   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™)rGr%ršr&rCr'r(r2rerfr!r#r.r5rAr›r~r>r r r r›$s     z!Emitter.expect_flow_sequence_itemcCr“)Nú{Tr•rr‘)rer(rVÚ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Ž)rGr%ÚMappingEndEventr&rCr'r(rer!r#r2r.r5rfÚcheck_simple_keyrAÚ expect_flow_mapping_simple_valuer~Ú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¢)rGr%r£r&rCr'r(r2rerfr!r#r.r5r¤rAr¥r~r¦r>r r r Úexpect_flow_mapping_keyMs"      zEmitter.expect_flow_mapping_keycCó*| dd¡|j |j¡|jdddS©Nú:FTr¢)rer!rAr§r~r>r r r r¥bó z(Emitter.expect_flow_mapping_simple_valuecCsD|js |j|jkr | ¡| dd¡|j |j¡|jdddS)NrªTr¢) r2r.r5rfrer!rAr§r~r>r r r r¦gs  z!Emitter.expect_flow_mapping_valuecCs(|jo|j }|jd|d|j|_dS)NF)rTrU)r+r0rVÚ expect_first_block_sequence_itemr#)rrUr r r r‰ps zEmitter.expect_block_sequencecCr\r])Ú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™) rGr%ršr&rCr'r!r#rfrerAr­r~©rr^r r r r­xs z"Emitter.expect_block_sequence_itemcCs|jdd|j|_dS)NFr‘)rVÚexpect_first_block_mapping_keyr#r>r r r rŒ„s  zEmitter.expect_block_mappingcCr\r])Ú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¢)rGr%r£r&rCr'r!r#rfr¤rAÚ!expect_block_mapping_simple_valuer~reÚexpect_block_mapping_valuer°r r r r²‹s z Emitter.expect_block_mapping_keycCr¨r©)rer!rAr²r~r>r r r r³™r«z)Emitter.expect_block_mapping_simple_valuecCs6| ¡|jdddd|j |j¡|jdddS)NrªTr¯r¢)rfrer!rAr²r~r>r r r r´žsz"Emitter.expect_block_mapping_valuecCó"t|jtƒo|jot|jdtƒSr@)rGr%rJr$ršr>r r r r‡¦óÿzEmitter.check_empty_sequencecCrµr@)rGr%rKr$r£r>r r r rŠªr¶zEmitter.check_empty_mappingcCsNt|jtƒr |js dS|jd}t|tƒo&|jduo&|jduo&|jo&|jdkS)NFrÚ) rGr%rHr$r‚rÚtagrzÚvaluerDr r r rq®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é€)rGr%Ú NodeEventrr8Úprepare_anchorrQr‚rMr¸r9Ú prepare_tagr:Úanalyze_scalarr¹rr€rrr‡rŠ)rÚlengthr r r r¤µs0      ÿþýýzEmitter.check_simple_keycCsR|jjdur d|_dS|jdur| |jj¡|_|jr$| ||jd¡d|_dS)NT)r%rr8r¼re)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¸rGr‚r;Úchoose_scalar_styler2rzr9rr½re)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;r2rzr,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)rrcÚmajorÚminorr r r rgs 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 emptyrrrLz*tag handle must start and end with '!': %rrÚ0Ú9ÚAÚZÚaÚzú-_z*invalid character %r in the tag handle: %rrÌ)rrvÚchr r r rm!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·)rrQrAÚencodeÚordÚjoin)rrwÚchunksÚstartÚendrÖÚdatar r r rn-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>) rrkr7rlÚ startswithrQrArÙrÛ) rr¸rvÚsuffixÚprefixesrwrÜrÝrÞrÖrßÚ suffix_textr r r r½DsD  € 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Ì)rrrÖ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 rbraru …

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

rú ú~õÂ…õ õ퟿õõ�uð€€uô¿¿õ)r ràrQr3)rrÚblock_indicatorsÚflow_indicatorsÚ line_breaksÚspecial_charactersÚ leading_spaceÚ leading_breakÚtrailing_spaceÚtrailing_breakÚ break_spaceÚ space_breakÚpreceded_by_whitespaceÚfollowed_by_whitespaceÚprevious_spaceÚprevious_breakÚindexrÖÚunicode_charactersrrrrrr r r r¾rsîý  ÿ €  € ÿ ½G ÿÿ   ÿúzEmitter.analyze_scalarcCst|jdƒr |j ¡dSdS)NÚflush)rXrrþr>r r r r{s ÿzEmitter.flush_streamcCs2|jr|j d¡r|j d |j¡¡dSdSdS)Nzutf-16rí)r ràrÚwriterÙr>r r r rYsÿzEmitter.write_stream_startcCs | ¡dSr )r{r>r r r rsr`zEmitter.write_stream_endcCsd|js|s|}nd|}||_|jo||_|jt|ƒ7_d|_|jr*| |j¡}|j |¡dS)NræF) r/r0r.rQr1r rÙrrÿ)rrÀÚneed_whitespacer/r0rßr r r re 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ÅTrLrrrårr) r!rer1rrQrfr rÙrrÿ) rrr rrÝrÞrÖrrß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.rQr rÙrrÿr0r5rfr) rrrËrßrrrÝrÞrÖrr r r rÊ8sr       €   €   ×zEmitter.write_plain)NNNNN)FF)F)FFFFr )T)@rrrrirr?rErBrIrVr"r[rZr_r|rrr~rr…rˆr–r›r‹ržr§r¥r¦r‰r¬r­rŒr±r²r³r´r‡rŠrqr¤rƒr„rÁr’rgrmrnr½r¼r¾r{rYrsrerfrrhrorÇrrÆr!rÈrÉrÊr r r r rsªþ ÿD    $  ÿ       $ # ÿ   7ñ 6 6#N)Ú__all__Úerrorrr$rr rr r r r Ús