Your IP : 3.147.68.133


Current Path : /lib64/python2.7/Demo/pysvr/
Upload File :
Current File : //lib64/python2.7/Demo/pysvr/pysvr.pyc

�
V
�Qc@s�dZddlZddlZddlZddlZddlZddlZddlZdZd�Z	dd�Zd�Zd�Z
d�Zd	�Zdd
lmZe	�dS(sIA multi-threaded telnet-like server that gives a Python prompt.

This is really a prototype for the same thing in C.

Usage: pysvr.py [port]

For security reasons, it only accepts requests from the current host.
This can still be insecure, but restricts violations from people who
can log in on your machine.  Use with caution!

i����Ni�cCs�yDtjtjdd�\}}t|�dkrCtjd�nWn tjk
rf}t|�nXx|D]\}}qnW|r�ytj|d�}Wq�tk
r�}t|�q�Xnt	}t
|�dS(NitsToo many arguments.i(tgetopttsystargvtlenterrortusagetstringtatoit
ValueErrortPORTtmain_thread(toptstargstmsgtotatport((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pytmainscCs3tjt_|r|GHndGtGtjd�dS(Ns
i(Rtstderrtstdoutt__doc__texit(R((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR%s
cCs�tjtjtj�}|jd|f�|jd�dG|GdGHxl|j�\}}|d|j�dkr�|j�dG|dGdGHqHntj	t
||f�~~qHdS(NRisListening on ports...is'Refusing connection from non-local hostt.(tsockettAF_INETtSOCK_STREAMtbindtlistentaccepttgetsocknametclosetthreadtstart_new_threadtservice_thread(Rtsocktconntaddr((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR,s


cCsl|\}}dttj��|fG|jd�}|jdd�}t||�dttj��GdS(Ns"Thread %s has connection from %s.
trtwisThread %s is done.
(tstrR t	get_identtmakefiletrun_interpreter(R$R%tcaddrtcporttstdinR((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR":s
cCs{i}yttj�Wndt_nXd}x7|jtj�|j�}|d dkrhd}n|rz|rzPn|ddkr�|d d}n||}yt|�}Wn5tk
r�}d}tjt|dd|�q3nX|s�q3nd}yt
||||�Wq3tk
rf}|rbyt|�}Wn
d}nX|jd	|�nPq3Xq3|jd
�dS(Ns>>> Ris��i����s
s
tfilesExit %s
s

Goodbye.
(R(Rtps1twritetreadlinetcompile_commandtSyntaxErrort	tracebacktprint_exceptiontNonetrun_commandt
SystemExit(R.Rtglobalstsourcetlinetcodeterrthow((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR+CsH
	

c	Bs�ejejejf}z�|e_e_|e_y||UWnlek
rk}e|ej�d�nDej�\}}}|r�|j}nej|||�~nXWd|\e_e_e_XdS(Ni(	RR.RRR9texc_infottb_nextR5R6(	R=R.RR:tsaveR?ttypetvaluettb((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR8is	(R3(RRtosRRR RR5R
RR7RRR"R+R8R=R3(((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyt<module>
sT					&