name : protocol_hwgrep.cpython-39.pyc
a

��WW/�@sdddlZddlZzeWney.eZYn0Gdd�dej�Zedkr`ed�Zde_e	e�dS)�Nc@s*eZdZdZejjjdd��Zdd�ZdS)�SerialzOJust inherit the native Serial port implementation and patch the port property.cCs@t|t�r,|�d�r,tjj�||�|��ntjj�||�dS)z%translate port name before storing it�	hwgrep://N)�
isinstance�
basestring�
startswith�serialr�port�__set__�from_url)�self�value�r
�E/usr/lib/python3.9/site-packages/serial/urlhandler/protocol_hwgrep.pyr$szSerial.portc
	Cs&|���d�r|dd�}d}d}|�d�}|�d�}|D]n}d|vrX|�dd�\}}n|}d}|d	kr�t|�d}|dkr�td
�|���q:|dkr�d}q:td
�|���q:ttj	j
�|��D]T\}	}
}|r�zt�|	�}Wntj
y�Yq�Yn
0|��|�r
|d8}q�|	St�
d�|���dS)z(extract host and port from an URL stringr�	NrF�&�=��nz9option "n" expects a positive integer larger than 1: {!r}Z	skip_busyTzunknown option: {!r}z#no ports found matching regexp {!r})�lowerr�split�pop�int�
ValueError�format�sortedrZtoolsZ
list_portsZgreprZSerialException�close)
r�urlrZ	test_open�argsZregexp�arg�optionrrZdescZhwid�sr
r
rr
,s<


zSerial.from_urlN)	�__name__�
__module__�__qualname__�__doc__rrr�setterr
r
r
r
rr s
r�__main__zhwgrep://ttyS0)
rZserial.tools.list_portsr�	NameError�strrr!r r�printr
r
r
r�<module>s
6

© 2025 Cubjrnet7