Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/yaml/__pycache__/scanner.cpython-35.pyc



!w:[@sfddgZddlmZddlTGdddeZGdddZGdddZd	S)
ScannerScannerError)MarkedYAMLError)*c@seZdZdS)rN)__name__
__module____qualname__r	r	/scanner.pyr sc@seZdZddZdS)	SimpleKeycCs:||_||_||_||_||_||_dS)N)token_numberrequiredindexlinecolumnmark)selfrr
rrrrr	r	r
__init__&s					zSimpleKey.__init__N)rrrrr	r	r	r
r#src"@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZ<dudvZ=dwdxZ>dydzZ?d{d|Z@d}d~ddddddddddddddddddddddddddddddddiZAddddddiZBddZCddZDddZEddZFddZGddZHddZIddZJddZKdS)rcCsVd|_d|_g|_|jd|_d|_g|_d|_i|_dS)zInitialize the scanner.FrTN)	done
flow_leveltokensfetch_stream_starttokens_takenindentindentsallow_simple_keypossible_simple_keys)rr	r	r
r0s			
				zScanner.__init__cGs_x|jr|jqW|jr[|s0dSx(|D] }t|jd|r7dSq7WdS)NTrF)need_more_tokensfetch_more_tokensr
isinstance)rchoiceschoicer	r	r
check_tokenqs	
zScanner.check_tokencCs5x|jr|jqW|jr1|jdSdS)Nr)rr r)rr	r	r

peek_token}s	zScanner.peek_tokencCsIx|jr|jqW|jrE|jd7_|jjdSdS)Nrr)rr rrpop)rr	r	r
	get_tokens
	zScanner.get_tokencCsA|jr
dS|jsdS|j|j|jkr=dSdS)NFT)rrstale_possible_simple_keysnext_possible_simple_keyr)rr	r	r
rs		
zScanner.need_more_tokenscCsg|j|j|j|j|j}|dkrF|jS|dkrh|jrh|jS|dkr|jr|j	S|dkr|j
r|jS|dkr|jS|dkr|j
S|dkr|jS|dkr|jS|d	kr|jS|dkr<|jr<|jS|d
kr^|jr^|jS|dkr|jr|jS|dkr|jS|d
kr|jS|dkr|jS|dkr|jr|jS|dkr|jr|jS|dkr|jS|dkr.|jS|jrD|j St!ddd||j"dS)N%-.[{]},?:r&!|>'"z!while scanning for the next tokenz.found character %r that cannot start any token)#scan_to_next_tokenr(
unwind_indentrpeekfetch_stream_endcheck_directivefetch_directivecheck_document_startfetch_document_startcheck_document_endfetch_document_endfetch_flow_sequence_startfetch_flow_mapping_startfetch_flow_sequence_endfetch_flow_mapping_endfetch_flow_entrycheck_block_entryfetch_block_entry	check_key	fetch_keycheck_valuefetch_valuefetch_aliasfetch_anchor	fetch_tagr
fetch_literalfetch_foldedfetch_singlefetch_doublecheck_plainfetch_plainrget_mark)rchr	r	r
r s^





	















	zScanner.fetch_more_tokenscCsOd}xB|jD]7}|j|}|dks>|j|kr|j}qW|S)N)rr)rZmin_token_numberlevelkeyr	r	r
r)s

z Scanner.next_possible_simple_keycCsx}t|jD]l}|j|}|j|jksK|j|jdkr|jrrtd|jd|j|j|=qWdS)Nizwhile scanning a simple keyzcould not find expected ':')listrrrr
rrrY)rr[r\r	r	r
r(s
	z"Scanner.stale_possible_simple_keyscCs|jo|j|jk}|jr|j|jt|j}t|||j	|j
|j|j}||j|j<dS)N)
rrrrremove_possible_simple_keyrlenrrrrrYr)rr
rr\r	r	r
save_possible_simple_key$s	
	!z Scanner.save_possible_simple_keycCsZ|j|jkrV|j|j}|jrItd|jd|j|j|j=dS)Nzwhile scanning a simple keyzcould not find expected ':')rrr
rrrY)rr\r	r	r
r^5s	z"Scanner.remove_possible_simple_keycCs^|jr
dSxJ|j|krY|j}|jj|_|jjt||qWdS)N)rrrYrr&rappendZ
BlockEndToken)rrrr	r	r
r<Bs	zScanner.unwind_indentcCs3|j|kr/|jj|j||_dSdS)NTF)rrra)rrr	r	r

add_indentZs
	zScanner.add_indentcCs2|j}|jjt||d|jdS)Nencoding)rYrraZStreamStartTokenrc)rrr	r	r
rdszScanner.fetch_stream_startcCs[|jd|jd|_i|_|j}|jjt||d|_dS)NrFTr)	r<r^rrrYrraZStreamEndTokenr)rrr	r	r
r>ps

		zScanner.fetch_stream_endcCs:|jd|jd|_|jj|jdS)NrFr)r<r^rrrascan_directive)rr	r	r
r@s

	zScanner.fetch_directivecCs|jtdS)N)fetch_document_indicatorZDocumentStartToken)rr	r	r
rBszScanner.fetch_document_startcCs|jtdS)N)reZDocumentEndToken)rr	r	r
rDszScanner.fetch_document_endcCsb|jd|jd|_|j}|jd|j}|jj|||dS)NrFr)r<r^rrYforwardrra)r
TokenClass
start_markend_markr	r	r
res

	
z Scanner.fetch_document_indicatorcCs|jtdS)N)fetch_flow_collection_startZFlowSequenceStartToken)rr	r	r
rEsz!Scanner.fetch_flow_sequence_startcCs|jtdS)N)rkZFlowMappingStartToken)rr	r	r
rFsz Scanner.fetch_flow_mapping_startcCsa|j|jd7_d|_|j}|j|j}|jj|||dS)NrT)r`rrrYrgrra)rrhrirjr	r	r
rks
	
z#Scanner.fetch_flow_collection_startcCs|jtdS)N)fetch_flow_collection_endZFlowSequenceEndToken)rr	r	r
rGszScanner.fetch_flow_sequence_endcCs|jtdS)N)rlZFlowMappingEndToken)rr	r	r
rHszScanner.fetch_flow_mapping_endcCsa|j|jd8_d|_|j}|j|j}|jj|||dS)NrF)r^rrrYrgrra)rrhrirjr	r	r
rls
	
z!Scanner.fetch_flow_collection_endcCsRd|_|j|j}|j|j}|jjt||dS)NT)rr^rYrgrraZFlowEntryToken)rrirjr	r	r
rIs	

zScanner.fetch_flow_entrycCs|jsg|js-tddd|j|j|jrg|j}|jjt||nd|_|j	|j}|j
|j}|jjt||dS)Nz%sequence entries are not allowed hereT)rrrrYrbrrraZBlockSequenceStartTokenr^rgZBlockEntryToken)rrrirjr	r	r
rKs				

zScanner.fetch_block_entrycCs|jsd|js-tddd|j|j|jrd|j}|jjt|||j|_|j	|j}|j
|j}|jjt||dS)Nz!mapping keys are not allowed here)rrrrYrbrrraBlockMappingStartTokenr^rgKeyToken)rrrirjr	r	r
rMs			


zScanner.fetch_keycCsq|j|jkr|j|j}|j|j=|jj|j|jt|j|j|js|j|j	r|jj|j|jt
|j|jd|_n|js|jstddd|j
|js|j|j	r|j
}|jjt
|||j|_|j|j
}|j|j
}|jjt||dS)NFz#mapping values are not allowed here)rrrinsertrrrnrrbrrmrrrYrar^rgZ
ValueToken)rr\rrirjr	r	r
rOs2
					


zScanner.fetch_valuecCs0|jd|_|jj|jtdS)NF)r`rrrascan_anchorZ
AliasToken)rr	r	r
rPVs
	zScanner.fetch_aliascCs0|jd|_|jj|jtdS)NF)r`rrrarpZAnchorToken)rr	r	r
rQas
	zScanner.fetch_anchorcCs-|jd|_|jj|jdS)NF)r`rrrascan_tag)rr	r	r
rRls
	zScanner.fetch_tagcCs|jdddS)Nstyler7)fetch_block_scalar)rr	r	r
rSwszScanner.fetch_literalcCs|jdddS)Nrrr8)rs)rr	r	r
rTzszScanner.fetch_foldedcCs0d|_|j|jj|j|dS)NT)rr^rrascan_block_scalar)rrrr	r	r
rs}s	
zScanner.fetch_block_scalarcCs|jdddS)Nrrr9)fetch_flow_scalar)rr	r	r
rUszScanner.fetch_singlecCs|jdddS)Nrrr:)ru)rr	r	r
rVszScanner.fetch_doublecCs0|jd|_|jj|j|dS)NF)r`rrrascan_flow_scalar)rrrr	r	r
rus
	zScanner.fetch_flow_scalarcCs-|jd|_|jj|jdS)NF)r`rrra
scan_plain)rr	r	r
rXs
	zScanner.fetch_plaincCs|jdkrdSdS)NrT)r)rr	r	r
r?szScanner.check_directivecCsA|jdkr=|jddkr=|jddkr=dSdS)Nrrfz---u
 	
…

T)rprefixr=)rr	r	r
rAszScanner.check_document_startcCsA|jdkr=|jddkr=|jddkr=dSdS)Nrrfz...u
 	
…

T)rrxr=)rr	r	r
rCszScanner.check_document_endcCs|jddkS)Nru
 	
…

)r=)rr	r	r
rJszScanner.check_block_entrycCs$|jr
dS|jddkSdS)NTru
 	
…

)rr=)rr	r	r
rLs	zScanner.check_keycCs$|jr
dS|jddkSdS)NTru
 	
…

)rr=)rr	r	r
rNs	zScanner.check_valuecCsM|j}|dkpL|jddkoL|dkpL|joL|dkS)Nu  	
…

-?:,[]{}#&*!|>'"%@`ru
 	
…

r,z?:)r=r)rrZr	r	r
rWszScanner.check_plaincCs|jdkr+|jdkr+|jd}x|sx |jdkr\|jq=W|jdkrx |jdkr|jqrW|jr|jsd|_q4d}q4WdS)NruF #u
…

T)rr=rgscan_line_breakrr)rfoundr	r	r
r;s!
		zScanner.scan_to_next_tokencCs|j}|j|j|}d}|dkrU|j|}|j}nY|dkr|j|}|j}n/|j}x |jdkr|jqW|j|t||||S)NZYAMLZTAGu
…

)rYrgscan_directive_namescan_yaml_directive_valuescan_tag_directive_valuer=scan_directive_ignored_lineZDirectiveToken)rrinamevaluerjr	r	r
rds

zScanner.scan_directivecCsd}|j|}x}d|ko/dknsxd|koKdknsxd|kogdknsx|dkr|d	7}|j|}qW|std
|d||j|j|}|j||j}|dkr
td
|d||j|S)
Nr09AZazz-_rzwhile scanning a directivez6expected alphabetic or numeric character, but found %ru 
…

)r=rrYrxrg)rrilengthrZrr	r	r
r}#s$W
	
	zScanner.scan_directive_namecCsx |jdkr"|jqW|j|}|jdkritd|d|j|j|j|j|}|jdkrtd|d|j|j||fS)Nryr-zwhile scanning a directivez%expected a digit or '.', but found %ru 
…

z%expected a digit or ' ', but found %r)r=rgscan_yaml_directive_numberrrY)rrimajorminorr	r	r
r~8s	

	
z!Scanner.scan_yaml_directive_valuecCs|j}d|ko#dknsGtd|d||jd}x3d|j|kopdknr|d7}qPWt|j|}|j||S)Nrrzwhile scanning a directivezexpected a digit, but found %rrr)r=rrYintrxrg)rrirZrrr	r	r
rIs	(
z"Scanner.scan_yaml_directive_numbercCsnx |jdkr"|jqW|j|}x |jdkrT|jq5W|j|}||fS)Nry)r=rgscan_tag_directive_handlescan_tag_directive_prefix)rrihandlerxr	r	r
rVsz Scanner.scan_tag_directive_valuecCsM|jd|}|j}|dkrItd|d||j|S)N	directiveryzwhile scanning a directivezexpected ' ', but found %r)scan_tag_handler=rrY)rrirrZr	r	r
r`s	z!Scanner.scan_tag_directive_handlecCsM|jd|}|j}|dkrItd|d||j|S)Nru 
…

zwhile scanning a directivezexpected ' ', but found %r)scan_tag_urir=rrY)rrirrZr	r	r
ris	z!Scanner.scan_tag_directive_prefixcCsx |jdkr"|jqW|jdkrXx |jdkrW|jq8W|j}|dkrtd|d||j|jdS)Nryrzu
…

zwhile scanning a directivez0expected a comment or a line break, but found %r)r=rgrrYr{)rrirZr	r	r
rrs	z#Scanner.scan_directive_ignored_linec	Csn|j}|j}|dkr-d}nd}|jd}|j|}x}d|koldknsd|kodknsd	|kod
kns|dkr|d7}|j|}qUW|std
||d||j|j|}|j||j}|dkrRtd
||d||j|j}||||S)NraliasZanchorrrrrrrrz-_rzwhile scanning an %sz6expected alphabetic or numeric character, but found %ru 	
…

?:,]}%@`)rYr=rgrrx)	rrhriZ	indicatorrrrZrrjr	r	r
rps2		
W



zScanner.scan_anchorc	Cs|j}|jd}|dkrd}|jd|jd|}|jdkrtd|d|j|j|jn|dkrd}d	}|jnd}d
}x<|dkr|d	krd}P|d7}|j|}qWd	}|r!|jd|}nd	}|j|jd|}|j}|dkrztd
|d||j||f}|j}t|||S)Nr<tagr8zwhile parsing a tagzexpected '>', but found %ru
 	
…

r6Fu 
…

Tzwhile scanning a tagzexpected ' ', but found %r)rYr=rgrrrZTagToken)	rrirZrsuffixrZ
use_handlerrjr	r	r
rqsH
	




	zScanner.scan_tagcCsN|dkrd}nd}g}|j}|j|j|\}}|j||jd}|dkrxd}|dkr|j\}}	}
t||	}n#||d}|j|\}}
d}x&|j|kr|j	dkr|j
||j	dk}
d}x#|j	|d	krB|d7}q W|j|j||j||j
}|j|\}}
|j|kr|j	dkr|r|d
kr|
r|j	dkr|s|jdq|j|qPqW|dk	r|j||dkr/|j
|tdj|d||
|S)Nr8TFrr*z 	ru
…


ry)rYrgscan_block_scalar_indicatorsscan_block_scalar_ignored_linerscan_block_scalar_indentationmaxscan_block_scalar_breaksrr=extendrarxr{ScalarTokenjoin)rrrZfoldedchunksrichomping	incrementZ
min_indentbreaks
max_indentrjr
line_breakZleading_non_spacerr	r	r
rtsP	


$

!

zScanner.scan_block_scalarcCshd}d}|j}|dkr|dkr9d}nd}|j|j}|dkr't|}|dkrtd|d|j|jn|dkr't|}|dkrtd|d|j|j|j}|dkr'|dkrd}nd}|j|j}|d	kr^td|d
||j||fS)Nz+-+TF
0123456789rzwhile scanning a block scalarz<expected indentation indicator in the range 1-9, but found 0u 
…

z9expected chomping or indentation indicators, but found %r)r=rgrrrY)rrirrrZr	r	r
rsF	
	
	
	
	z$Scanner.scan_block_scalar_indicatorscCsx |jdkr"|jqW|jdkrXx |jdkrW|jq8W|j}|dkrtd|d||j|jdS)Nryrzu
…

zwhile scanning a block scalarz0expected a comment or a line break, but found %r)r=rgrrYr{)rrirZr	r	r
rAs	z&Scanner.scan_block_scalar_ignored_linecCsg}d}|j}xl|jdkr|jdkra|j|j|j}q|j|j|kr|j}qW|||fS)Nru 
…

ry)rYr=rar{rgr)rrrrjr	r	r
rOs

z%Scanner.scan_block_scalar_indentationcCsg}|j}x/|j|krC|jdkrC|jqWxg|jdkr|j|j|j}x/|j|kr|jdkr|jq{WqGW||fS)Nryu

…

)rYrr=rgrar{)rrrrjr	r	r
r^s$$z Scanner.scan_block_scalar_breakscCs|dkrd}nd}g}|j}|j}|j|j|j||xH|j|kr|j|j|||j|j||q_W|j|j}tdj|d|||S)Nr:TFr)rYr=rgrscan_flow_scalar_non_spacesscan_flow_scalar_spacesrr)rrrdoublerriquoterjr	r	r
rvks	

zScanner.scan_flow_scalarrr*rbt	nrvfr
eryr:\N…_ Lu
Pu
xruUcCsag}xTd}x#|j|dkr4|d7}qW|r^|j|j||j||j}|r|dkr|jddkr|jd|jdq	|r|dks|r|dkr|j||jq	|rU|dkrU|j|j}||jkrF|j|j||jqY||jkr|j|}|jxWt|D]I}|j|dkrytd	|d
||j|f|jqyWt	|j|d}|jt
||j|qY|dkr3|j|j|j
||qYtd	|d
||jq	|Sq	WdS)Nru'"\ 	
…

rr9rz"\r0123456789ABCDEFabcdefz%while scanning a double-quoted scalarz?expected escape sequence of %d hexdecimal numbers, but found %ru

…

z!found unknown escape character %r)r=rarxrgESCAPE_REPLACEMENTSESCAPE_CODESrangerrYrchrr{rscan_flow_scalar_breaks)rrrirrrZkcoder	r	r
rsL
(
%





	&
	z#Scanner.scan_flow_scalar_non_spacesc	Csg}d}x#|j|dkr1|d7}qW|j|}|j||j}|dkrtd|d|jnv|dkr|j}|j||}|dkr|j|n|s|jd	|j|n
|j||S)
Nrz 	rr*zwhile scanning a quoted scalarzfound unexpected end of streamu

…

rry)	r=rxrgrrYr{rrar)	rrrirrwhitespacesrZrrr	r	r
rs(
	

zScanner.scan_flow_scalar_spacescCsg}x|jd}|dks0|dkr`|jddkr`td|d|jx |jdkr|jqcW|jdkr|j|jq	|Sq	WdS)	Nrfz---z...u
 	
…

zwhile scanning a quoted scalarz#found unexpected document separatorz 	u

…

)rxr=rrYrgrar{)rrrirrxr	r	r
rs	zScanner.scan_flow_scalar_breakscCsg}|j}|}|jd}g}x~d}|jdkrGPxn|j|}|dks|jr|dkr|j|ddks|jr|dkrP|d7}qJW|jr|dkr|j|ddkr|j|td|d	|jd
|dkrPd|_|j||j|j	||j||j}|j
||}|s|jdks|jr.|j|kr.Pq.Wtdj
|d
||S)Nrrrzu
 	
…

r4z,:?[]{}u 	
…

,[]{}zwhile scanning a plain scalarzfound unexpected ':'zGPlease check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.FrT)rYrr=rrgrrrrarxscan_plain_spacesrrr)rrrirjrZspacesrrZr	r	r
rwsF

			

zScanner.scan_plainc
Csg}d}x#|j|dkr1|d7}qW|j|}|j||j}|dkr|j}d|_|jd}|dks|dkr|jdd	krdSg}	x|jd
krK|jdkr|jq|	j|j|jd}|dks/|dkr|jdd	krdSqW|dkrh|j|n|	s{|jd|j|	n|r|j||S)Nrryru

…

Trfz---z...u
 	
…

u 
…

r)r=rxrgr{rrar)
rrrirrrrZrrxrr	r	r
r!s>
	


zScanner.scan_plain_spacescCsB|j}|dkr;td||d||jd}|j|}|dkr"x}d|kovdknsd|kod	knsd
|kodkns|dkr|d7}|j|}q_W|dkr|j|td||d||j|d7}|j|}|j||S)
Nr6zwhile scanning a %szexpected '!', but found %rrryrrrrrrz-_)r=rrYrgrx)rrrirZrrr	r	r
rFs&
W




zScanner.scan_tag_handlecCsQg}d}|j|}xd|ko5dkns~d|koQdkns~d|komdkns~|dkr|d	kr|j|j||j|d}|j|j||n
|d
7}|j|}qW|r|j|j||j|d}|sDtd||d||jd
j|S)Nrrrrrrrz-;/?:@&=+$,_.!~*'()[]%r+rzwhile parsing a %szexpected URI, but found %rr)r=rarxrgscan_uri_escapesrrYr)rrrirrrZr	r	r
r^s(W



zScanner.scan_tag_uricCsg}|j}x|jdkr|jxUtdD]G}|j|dkr>td||d|j||jq>W|jt|jdd|jdqWyt|j	d}WnDt
k
r}z$td||t||WYdd}~XnX|S)Nr+rrzwhile scanning a %szBexpected URI escape sequence of 2 hexdecimal numbers, but found %rrzutf-8)rYr=rgrrrarrxbytesdecodeUnicodeDecodeErrorstr)rrriZcodesrrrexcr	r	r
rws 

 2zScanner.scan_uri_escapescCsi|j}|dkrK|jddkr=|jdn
|jdS|dkre|j|SdS)Nu
…rz
ru

r)r=rxrg)rrZr	r	r
r{s	

zScanner.scan_line_breakN)Lrrrrr$r%r'rr r)r(r`r^r<rbrr>r@rBrDrerErFrkrGrHrlrIrKrMrOrPrQrRrSrTrsrUrVrurXr?rArCrJrLrNrWr;rdr}r~rrrrrrprqrtrrrrrvrrrrrrwrrrrr{r	r	r	r
r.sA
l

!8

#

		$)L(
+/%N)__all__errorrrrrrr	r	r	r
<module>s


Back to Directory File Manager