Your IP : 18.118.30.153


Current Path : /opt/alt/python33/lib64/python3.3/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/__pycache__/shlex.cpython-33.pyc

�
��f�,c@s(dZddlZddlZddlZddlmZddlmZdddgZGdd�d�Z	ddd	d�Zej
d
ej�jZdd�Zedkr$eej�d
kr�e	�Zn"ejd
Ze	ee�e�Zx0ej�Zeredee��q�Pq�ndS(u8A lexical analyzer class for simple shell-like syntaxes.iN(udeque(uStringIOushlexusplituquotecBs�|EeZdZdZddddd�Zdd�Zddd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdddd�Z
dd�Zdd�ZdS(ushlexu8A lexical analyzer class for simple shell-like syntaxes.cCsAt|t�rt|�}n|dk	r?||_||_ntj|_d|_||_|rod|_	n	d|_	d|_
d|_|jr�|jd7_nd|_d
|_d|_d|_d|_d	|_t�|_d
|_d|_d|_t�|_d|_|jr=td|j|jf�ndS(Nuu#u?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞu 	
u'"u\u"u iiushlex: reading from %s, line %dF(u
isinstanceustruStringIOuNoneuinstreamuinfileusysustdinuposixueofu
commentersu	wordcharsu
whitespaceuFalseuwhitespace_splituquotesuescapeu
escapedquotesustateudequeupushbackulinenoudebugutokenu	filestackusourceuprint(uselfuinstreamuinfileuposix((u*/opt/alt/python33/lib64/python3.3/shlex.pyu__init__s<																		ushlex.__init__cCs:|jdkr&tdt|��n|jj|�dS(u:Push a token onto the stack popped by the get_token methodiushlex: pushing token N(udebuguprintureprupushbacku
appendleft(uselfutok((u*/opt/alt/python33/lib64/python3.3/shlex.pyu
push_token8sushlex.push_tokencCs�t|t�rt|�}n|jj|j|j|jf�||_||_d|_|jr�|dk	r�t
d|jf�q�t
d|jf�ndS(u9Push an input source onto the lexer's input source stack.iushlex: pushing to file %sushlex: pushing to stream %sN(u
isinstanceustruStringIOu	filestacku
appendleftuinfileuinstreamulinenoudebuguNoneuprint(uselfu	newstreamunewfile((u*/opt/alt/python33/lib64/python3.3/shlex.pyupush_source>s"				ushlex.push_sourcecCsa|jj�|jj�\|_|_|_|jrTtd|j|jf�nd|_dS(uPop the input source stack.ushlex: popping to %s, line %du N(	uinstreamucloseu	filestackupopleftuinfileulinenoudebuguprintustate(uself((u*/opt/alt/python33/lib64/python3.3/shlex.pyu
pop_sourceLs
!	ushlex.pop_sourcecCs>|jrB|jj�}|jdkr>tdt|��n|S|j�}|jdk	r�x\||jkr�|j|j��}|r�|\}}|j	||�n|j
�}q`Wnx9||jkr�|js�|jS|j
�|j
�}q�W|jdkr:||jkr-tdt|��q:td�n|S(uBGet a token from the input stream (or from stack if it's nonempty)iushlex: popping token u
shlex: token=ushlex: token=EOFN(upushbackupopleftudebuguprinturepru
read_tokenusourceuNoneu
sourcehookupush_sourceu	get_tokenueofu	filestacku
pop_source(uselfutokurawuspecunewfileu	newstream((u*/opt/alt/python33/lib64/python3.3/shlex.pyu	get_tokenUs.		

ushlex.get_tokencCs�d}d}x|jjd�}|dkr@|jd|_n|jdkrttdt|j�dt|��n|jdkr�d|_	Pq|jdkr�|s�d|_Pq||j
kr�|jdkr�td	�n|j	s�|jr|rPq�qq||jkr.|jj
�|jd|_q|jrX||jkrXd
}||_q||jkr|||_	d
|_q||jkr�|js�||_	n||_q|jr�||_	d
|_q||_	|j	s�|jr|rPqqq|j|jkr�d}|s>|jdkr/td�ntd��n||jkr|jss|j	||_	d|_Pq�d
|_q|jr�||jkr�|j|jkr�|j}||_q|j	||_	q|j|jkrp|s|jdkrtd
�ntd��n||jkrT||jkrT||krT|j	|j|_	n|j	||_	||_q|jd
kr|s�d|_Pq||j
kr�|jdkr�td�nd|_|j	s�|jr|rPqqq||jkrK|jj
�|jd|_|jrd|_|j	s>|jr|rPqHqqq|jro||jkro||_q|jr�||jkr�d
}||_q||jks�||jks�|jr�|j	||_	q|jj|�|jdkr�td�nd|_|j	rPqqqq|j	}d|_	|jrU|rU|dkrUd}n|jdkr�|r�tdt|��q�td�n|S(Nu iu
iushlex: in stateuI see character:uiu+shlex: I see whitespace in whitespace stateuau shlex: I see EOF in quotes stateuNo closing quotationu shlex: I see EOF in escape stateuNo escaped characteru%shlex: I see whitespace in word stateu&shlex: I see punctuation in word stateushlex: raw token=ushlex: raw token=EOFFT(uFalseuinstreamureadulinenoudebuguprintureprustateuNoneutokenu
whitespaceuposixu
commentersureadlineuescapeu	wordcharsuquotesuwhitespace_splituTrueu
ValueErroru
escapedquotesupushbacku
appendleft(uselfuquoteduescapedstateunextcharuresult((u*/opt/alt/python33/lib64/python3.3/shlex.pyu
read_tokenus�		

					
			
	
	
				
						
ushlex.read_tokencCs�|ddkr#|dd�}nt|jt�rotjj|�rotjjtjj|j�|�}n|t|d�fS(u(Hook called on a filename to be sourced.iu"iuri����(	u
isinstanceuinfileustruosupathuisabsujoinudirnameuopen(uselfunewfile((u*/opt/alt/python33/lib64/python3.3/shlex.pyu
sourcehook�s
%'ushlex.sourcehookcCs>|dkr|j}n|dkr0|j}nd||fS(u<Emit a C-compiler-like, Emacs-friendly error-message leader.u"%s", line %d: N(uNoneuinfileulineno(uselfuinfileulineno((u*/opt/alt/python33/lib64/python3.3/shlex.pyuerror_leader�s
ushlex.error_leadercCs|S(N((uself((u*/opt/alt/python33/lib64/python3.3/shlex.pyu__iter__sushlex.__iter__cCs(|j�}||jkr$t�n|S(N(u	get_tokenueofu
StopIteration(uselfutoken((u*/opt/alt/python33/lib64/python3.3/shlex.pyu__next__	s	ushlex.__next__NF(u__name__u
__module__u__qualname__u__doc__uNoneuFalseu__init__u
push_tokenupush_sourceu
pop_sourceu	get_tokenu
read_tokenu
sourcehookuerror_leaderu__iter__u__next__(u
__locals__((u*/opt/alt/python33/lib64/python3.3/shlex.pyushlexs$	 �	cCs7t|d|�}d|_|s-d|_nt|�S(NuposixuT(ushlexuTrueuwhitespace_splitu
commentersulist(usucommentsuposixulex((u*/opt/alt/python33/lib64/python3.3/shlex.pyusplits
	u[^\w@%+=:,./-]cCs8|s
dSt|�dkr |Sd|jdd�dS(u1Return a shell-escaped version of the string *s*.u''u'u'"'"'N(u_find_unsafeuNoneureplace(us((u*/opt/alt/python33/lib64/python3.3/shlex.pyuquotes
u__main__iuToken: FT(u__doc__uosureusysucollectionsudequeuiouStringIOu__all__ushlexuFalseuTrueusplitucompileuASCIIusearchu_find_unsafeuquoteu__name__ulenuargvulexerufileuopenu	get_tokenuttuprinturepr(((u*/opt/alt/python33/lib64/python3.3/shlex.pyu<module>s(�


?>