U b`@sLddgZddlmZddlTGdddeZGdddZGdddZd S) Emitter EmitterError) YAMLError)*c@s eZdZdS)rN)__name__ __module__ __qualname__r r ?/opt/alt/python38/lib64/python3.8/site-packages/yaml/emitter.pyrsc@seZdZddZdS)ScalarAnalysisc Cs4||_||_||_||_||_||_||_||_dSNscalarempty multilineallow_flow_plainallow_block_plainallow_single_quotedallow_double_quoted allow_block) selfrrrrrrrrr r r __init__szScalarAnalysis.__init__N)rrrrr r r r r sr c@s(eZdZdddZdddZddZd d Zd d Zd dZdddZ ddZ ddZ ddZ dddZ ddZddZdddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zdd8d9Zd:d;Zdd?Z d@dAZ!dBdCZ"dDdEZ#dFdGZ$dHdIZ%dJdKZ&dLdMZ'dNdOZ(dPdQZ)dRdSZ*dTdUZ+dVdWZ,dXdYZ-dZd[Z.d\d]Z/d^d_Z0d`daZ1dbdcZ2dddeZ3ddfdgZ4dhdiZ5ddjdkZ6dldmZ7dndoZ8ddqdrZ9dsdtdudvdwdxdydzd{d|d}d~ddddZ:dddZ;ddZdddZ?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|_|rd|krdkrnn||_d|_|r||jdkr||_d|_|d kr||_d|_d|_d|_d|_d|_dS) NFTr P ) rz )streamencodingstatesexpect_stream_startstateeventseventindentsindent flow_level root_contextsequence_contextmapping_contextsimple_key_contextlinecolumn whitespace indention open_ended canonical allow_unicode best_indent best_widthbest_line_break tag_prefixesprepared_anchor prepared_taganalysisstyle)rrr2r'widthr3Z line_breakr r r r&sDzEmitter.__init__cCsg|_d|_dSr )r!r#rr r r disposejszEmitter.disposecCs6|j||s2|jd|_|d|_q dSNr)r$appendneed_more_eventspopr%r#rr%r r r emitos  z Emitter.emitcCsX|js dS|jd}t|tr(|dSt|tr<|dSt|trP|dSdSdS)NTrrrF)r$ isinstanceDocumentStartEvent need_eventsSequenceStartEventMappingStartEventrCr r r rAxs       zEmitter.need_more_eventscCsvd}|jddD]P}t|ttfr.|d7}n&t|ttfrF|d8}nt|trTd}|dkrdSqt|j|dkS)NrrF)r$rFrGCollectionStartEventDocumentEndEventZCollectionEndEventStreamEndEventlen)rcountlevelr%r r r rHs   zEmitter.need_eventsFcCsF|j|j|jdkr.|r&|j|_qBd|_n|sB|j|j7_dSr?)r&r@r'r4)rflow indentlessr r r increase_indents  zEmitter.increase_indentcCsNt|jtr<|jjr*t|jds*|jj|_||j|_nt d|jdS)Nr z%expected StreamStartEvent, but got %s) rFr%ZStreamStartEventr hasattrrwrite_stream_startexpect_first_document_startr#rr=r r r r"s   zEmitter.expect_stream_startcCstd|jdS)Nzexpected nothing, but got %s)rr%r=r r r expect_nothingszEmitter.expect_nothingcCs |jddSNT)first)expect_document_startr=r r r rWsz#Emitter.expect_first_document_startc Csrt|jtr$|jjs|jjr8|jr8|dd||jjrX||jj}| ||j |_ |jjrt |jj}|D]:}|jj|}||j |<||}||}|||q|o|jj o|j o|jj o|jj o| }|s||dd|jr||j|_nJt|jtr`|jrN|dd|||j|_ntd|jdS)N...T---z'expected DocumentStartEvent, but got %s)rFr%rGversionZtagsr1write_indicator write_indentprepare_versionwrite_version_directiveDEFAULT_TAG_PREFIXEScopyr7sortedkeysprepare_tag_handleprepare_tag_prefixwrite_tag_directiveexplicitr2check_empty_documentexpect_document_rootr#rNwrite_stream_endrXr) rrZ version_textZhandleshandleprefix handle_text prefix_textimplicitr r r r[sL           zEmitter.expect_document_startcCsTt|jtrB||jjr0|dd|||j|_nt d|jdS)Nr\Tz%expected DocumentEndEvent, but got %s) rFr%rMr`rjr_ flush_streamr[r#rr=r r r expect_document_ends   zEmitter.expect_document_endcCs|j|j|jdddS)NT)root)r!r@ru expect_noder=r r r rlszEmitter.expect_document_rootcCs||_||_||_||_t|jtr.|nt|jtt fr| d| t|jtrf| qt|jt r|js|js|jjs|r|q|qt|jtr|js|js|jjs|r|q|ntd|jdS)N&zexpected NodeEvent, but got %s)r)r*r+r,rFr% AliasEvent expect_alias ScalarEventrLprocess_anchor process_tag expect_scalarrIr(r2Z flow_stylecheck_empty_sequenceexpect_flow_sequenceexpect_block_sequencerJcheck_empty_mappingexpect_flow_mappingexpect_block_mappingr)rrvsequencemapping simple_keyr r r rws0           zEmitter.expect_nodecCs.|jjdkrtd|d|j|_dS)Nz!anchor is not specified for aliasr)r%anchorrr|r!rBr#r=r r r rzs  zEmitter.expect_aliascCs0|jdd||j|_|j|_dS)NTrR)rTprocess_scalarr&rBr'r!r#r=r r r r~ s  zEmitter.expect_scalarcCs6|jdddd|jd7_|jdd|j|_dS)N[Tr/rr)r_r(rTexpect_first_flow_sequence_itemr#r=r r r rs zEmitter.expect_flow_sequencecCsxt|jtr@|j|_|jd8_|dd|j|_ n4|j sR|j |j krZ| |j|j|jdddS)Nr]FTr)rFr%SequenceEndEventr&rBr'r(r_r!r#r2r.r5r`r@expect_flow_sequence_itemrwr=r r r rs   z'Emitter.expect_first_flow_sequence_itemcCst|jtrZ|j|_|jd8_|jr@|dd| |dd|j |_ n@|dd|jsx|j |j kr| |j |j|jdddS)Nr,FrTr)rFr%rr&rBr'r(r2r_r`r!r#r.r5r@rrwr=r r r r$s     z!Emitter.expect_flow_sequence_itemcCs6|jdddd|jd7_|jdd|j|_dS)N{Trrr)r_r(rTexpect_first_flow_mapping_keyr#r=r r r r6s zEmitter.expect_flow_mappingcCst|jtr@|j|_|jd8_|dd|j|_ nl|j sR|j |j krZ| |j s|r|j|j|jdddn&|dd|j|j|jdddS)Nr}FTrr?r)rFr%MappingEndEventr&rBr'r(r_r!r#r2r.r5r`check_simple_keyr@ expect_flow_mapping_simple_valuerwexpect_flow_mapping_valuer=r r r r<s    z%Emitter.expect_first_flow_mapping_keycCst|jtrZ|j|_|jd8_|jr@|dd| |dd|j |_ nx|dd|jsx|j |j kr| |js|r|j |j|jdddn&|dd|j |j|jdddS) NrrFrTrrr)rFr%rr&rBr'r(r2r_r`r!r#r.r5rr@rrwrr=r r r expect_flow_mapping_keyMs"      zEmitter.expect_flow_mapping_keycCs*|dd|j|j|jdddSN:FTr)r_r!r@rrwr=r r r rbs z(Emitter.expect_flow_mapping_simple_valuecCsD|js|j|jkr||dd|j|j|jdddS)NrTr) r2r.r5r`r_r!r@rrwr=r r r rgs  z!Emitter.expect_flow_mapping_valuecCs(|jo |j }|jd|d|j|_dS)NF)rRrS)r+r0rT expect_first_block_sequence_itemr#)rrSr r r rpszEmitter.expect_block_sequencecCs |jddSrY)expect_block_sequence_itemr=r r r rusz(Emitter.expect_first_block_sequence_itemcCs`|s*t|jtr*|j|_|j|_n2||j dddd|j |j |j dddS)N-Tr0r) rFr%rr&rBr'r!r#r`r_r@rrwrrZr r r rxs z"Emitter.expect_block_sequence_itemcCs|jdd|j|_dS)NFr)rTexpect_first_block_mapping_keyr#r=r r r rs zEmitter.expect_block_mappingcCs |jddSrY)expect_block_mapping_keyr=r r r rsz&Emitter.expect_first_block_mapping_keycCs|s*t|jtr*|j|_|j|_nX|| rX|j |j |j dddn*|j dddd|j |j|j dddS)NTrrrr)rFr%rr&rBr'r!r#r`rr@!expect_block_mapping_simple_valuerwr_expect_block_mapping_valuerr r r rs z Emitter.expect_block_mapping_keycCs*|dd|j|j|jdddSr)r_r!r@rrwr=r r r rs z)Emitter.expect_block_mapping_simple_valuecCs6||jdddd|j|j|jdddS)NrTrr)r`r_r!r@rrwr=r r r rsz"Emitter.expect_block_mapping_valuecCs"t|jto |jo t|jdtSr?)rFr%rIr$rr=r r r rszEmitter.check_empty_sequencecCs"t|jto |jo t|jdtSr?)rFr%rJr$rr=r r r rszEmitter.check_empty_mappingcCsNt|jtr|jsdS|jd}t|toL|jdkoL|jdkoL|joL|jdkS)NFr) rFr%rGr$r{rtagrsvaluerCr r r rks zEmitter.check_empty_documentcCs d}t|jtrD|jjdk rD|jdkr6||jj|_|t|j7}t|jttfr|jj dk r|j dkrz| |jj |_ |t|j 7}t|jtr|j dkr| |jj|_ |t|j j7}|dkot|jtpt|jtr|j j r|j j p|p|S)Nr)rFr%Z NodeEventrr8prepare_anchorrOr{rLrr9 prepare_tagr:analyze_scalarrrryrrrr)rZlengthr r r rs2      zEmitter.check_simple_keycCsR|jjdkrd|_dS|jdkr0||jj|_|jrH|||jdd|_dS)NT)r%rr8rr_)r indicatorr r r r|s  zEmitter.process_anchorcCs|jj}t|jtr|jdkr(||_|jr6|dkrl|jdkrL|jjdsb|jdkrl|jjdrld|_dS|jjdr|dkrd}d|_n |jr|dkr|jjrd|_dS|dkrt d|jdkr| ||_|jr| |jdd|_dS)Nrrrrztag is not specifiedT) r%rrFr{r;choose_scalar_styler2rsr9rrr_)rrr r r r}s8       zEmitter.process_tagcCs|jdkr||jj|_|jjdks,|jr0dS|jjsz|jjdrz|jrZ|jjsz|jj sz|j rh|jj sv|j sz|jj rzdS|jjr|jjdkr|j s|js|jj r|jjS|jjr|jjdkr|jjr|jr|jj sdSdS)N"rrz|>')r:rr%rr;r2rsr,rrr(rrrrr=r r r rs@  zEmitter.choose_scalar_stylecCs|jdkr||jj|_|jdkr.||_|j }|jdkrR||jj|n`|jdkrn| |jj|nD|jdkr| |jjn*|jdkr| |jjn| |jj|d|_d|_dS)Nrr>|) r:rr%rr;rr,write_double_quotedrwrite_single_quoted write_folded write_literal write_plain)rsplitr r r rs        zEmitter.process_scalarcCs,|\}}|dkr td||fd||fS)Nrzunsupported YAML version: %d.%dz%d.%dr)rr^majorminorr r r raszEmitter.prepare_versioncCs|s td|ddks$|ddkr0td||ddD]^}d|krTdks) rrer7rf startswithrOr@rr) rrrosuffixprefixesrprrrrrZ suffix_textr r r rDsN  B       zEmitter.prepare_tagcCst|s td|D]^}d|kr(dksnd|kr>dksnd|krTdksn|dkstd ||fq|S) Nzanchor must not be emptyrrrrrrrz&invalid character %r in the anchor: %rr)rrrr r r rhsBzEmitter.prepare_anchorc Cs.|st|ddddddddSd}d}d}d}d}d}d}d} d} d} |dsX|dr`d}d}d} t|dkpz|ddk} d}d}d}|t|kr||}|dkr|d krd}d}|d krd}| rd}|d kr| rd}d}n<|d krd}|d krd}| rd}|dkr| rd}d}|dkr*d}|dksd|krLdksn|dksd|krpdksnd|krdksnd|krdkrnn|dkrd}|jsd}nd}|dkr |dkrd}|t|dkrd}|rd} d}d}nJ|dkrL|dkr"d}|t|dkr8d} |rBd} d}d}nd}d}|d7}|dk} |dt|kp||ddk} qd}d}d}d}d}|s|s|s| rd}}|rd}| rd}}}| s|rd}}}}|rd}}|r d}|rd}t|d||||||dS)NTFr r]r\ru …

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

r ~… ퟿�u𐀀u􏿿)r rrOr3)rrZblock_indicatorsZflow_indicatorsZ line_breaksZspecial_characters leading_spaceZ leading_breakZtrailing_spaceZtrailing_breakZ break_spaceZ space_breakZpreceded_by_whitespaceZfollowed_by_whitespaceZprevious_spaceZprevious_breakindexrZunicode_charactersrrrrrr r r rrs     $$            zEmitter.analyze_scalarcCst|jdr|jdS)Nflush)rUrrr=r r r rts zEmitter.flush_streamcCs*|jr&|jdr&|jd|jdS)Nzutf-16r)r rrwriterr=r r r rVszEmitter.write_stream_startcCs |dSr )rtr=r r r rmszEmitter.write_stream_endcCsd|js |s|}nd|}||_|jo&||_|jt|7_d|_|jrT||j}|j|dS)NrF) r/r0r.rOr1r rrr)rrZneed_whitespacer/r0rr r r r_ s   zEmitter.write_indicatorcCsx|jpd}|jr*|j|ks*|j|kr2|js2||j|krtd|_d||j}||_|jrh||j}|j|dS)NrTr) r'r0r.r/write_line_breakr rrr)rr'rr r r r`.s   zEmitter.write_indentcCsP|dkr|j}d|_d|_|jd7_d|_|jr@||j}|j|dS)NTrr) r6r/r0r-r.r rrr)rrr r r r;s zEmitter.write_line_breakcCs2d|}|jr||j}|j||dS)Nz %%YAML %sr rrrr)rrnrr r r rbFs   zEmitter.write_version_directivecCs6d||f}|jr||j}|j||dS)Nz %%TAG %s %sr)rrqrrrr r r riMs    zEmitter.write_tag_directiveTc Cs |ddd}d}d}}|t|krd}|t|krB||}|r|dksV|dkr|d|kr|j|jkr|r|dkr|t|kr|n<|||}|jt|7_|jr||j}|j||}n|r>|dks|dkr||dkr| |||D]$} | dkr"| n | | q ||}nj|dks\|d ks\|dkr||kr|||}|jt|7_|jr||j}|j||}|dkrd }|jd 7_|jr||j}|j||d}|dk r|dk}|dk}|d7}q|dddS) NrTFrrrrr …

z''r) r_rOr.r5r`r rrrr) rtextrspacesbreaksrrrrbrr r r rVsh                   zEmitter.write_single_quotedrrbtnvfrer\N_LP) r  rrrrru
u
cCs|ddd}}|t|krd}|t|kr:||}|dks|dksd|kr`dks|n|jrd|kr~dks|nd |krd ks|n||kr|||}|jt|7_|jr||j}|j||}|dk r|||jkrd |j|}n<|d krd t |}n$|dkr6dt |}n dt |}|jt|7_|jrh||j}|j||d}d|krt|dkrxnn|dks||krx|j|||j krx|rx|||d }||kr|}|jt|7_|jr||j}|j|| d|_ d|_ ||dkrxd }|jt|7_|jrl||j}|j||d7}q|dddS)NrTru "\…

rrrrrrrÿz\x%02Xu￿z\u%04Xz\U%08XrF)r_rOr3r.r rrrESCAPE_REPLACEMENTSrr5r`r/r0)rrrrrrrr r r rs               8      zEmitter.write_double_quotedcCs\d}|rX|ddkr"|t|j7}|ddkr8|d7}n t|dksP|ddkrX|d 7}|S) NrrrrKrrr+)strr4rO)rrhintsr r r determine_block_hintss   zEmitter.determine_block_hintsc Cs||}|d|d|dddkr0d|_|d}d}d}d}}|t|krd}|t|krr||}|r|dks|dkr|s|dk r|dkr||d kr||dk}|||D] } | d kr|q|| q|dk r||}n|rt|dkr|d |kr0|j|jkr0|n>|||} |jt| 7_|jrb| |j} |j | |}nh|dks|d kr|||} |jt| 7_|jr| |j} |j | |dkr||}|dk r|dk}|dk}|d 7}qLdS) NrTrKrFrrrrrr) rr_r1rrOr`r.r5r rrr) rrrrrrrrrrrr r r rsd               zEmitter.write_foldedc Cs4||}|d|d|dddkr0d|_|d}d}}|t|kr0d}|t|krj||}|r|dks~|dkr|||D] }|dkr|q||q|dk r||}nR|dks|dkr|||}|jr||j}|j ||dkr||}|dk r&|dk}|d7}qDdS) NrTrKrrrrr) rr_r1rrOr`r rrr) rrrrrrrrrr r r rs>         zEmitter.write_literalc Cs|jr d|_|sdS|jsNd}|jt|7_|jrB||j}|j|d|_d|_ d}d}d}}|t|krd}|t|kr||}|r|dkr|d|kr|j|j kr|r| d|_d|_ n>|||}|jt|7_|jr||j}|j||}n|r|dkr||dkr<| |||D]$} | dkr`| n | | qH| d|_d|_ |}nV|dks|dkr|||}|jt|7_|jr||j}|j||}|dk r|dk}|dk}|d7}qjdS) NTrFrrrrr) r)r1r/r.rOr rrrr0r5r`r) rrrrrrrrrrr r r r8sl              zEmitter.write_plain)NNNNN)FF)F)FFFF)F)F)FF)N)T)T)T)@rrrrcrr>rDrArHrTr"rXrWr[rurlrwrzr~rrrrrrrrrrrrrrrrrrrkrr|r}rrrargrhrrrrtrVrmr_r`rrbrirrrrrrrr r r r rs D     $        $ #   7 6 6#N)__all__errorrr$rr rr r r r  s