File: //usr/lib/python3/dist-packages/serial/urlhandler/__pycache__/protocol_hwgrep.cpython-38.pyc
U
��WW/ � @ sf d dl Z d dlZ ze W n ek
r0 eZY nX G dd� de j�Zedkrbed�Zde_e e� dS )� Nc @ s* e Zd ZdZejjjdd� �Zdd� ZdS )�SerialzOJust inherit the native Serial port implementation and patch the port property.c C s@ 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
�C/usr/lib/python3/dist-packages/serial/urlhandler/protocol_hwgrep.pyr $ s zSerial.portc
C s( |� � �d�r|dd� }d}d}|�d�}|�d�}|D ]n}d|krX|�dd�\}}n|}d}|d kr�t|�d }|dk r�td
�|���q:|dkr�d}q:td
�|���q:ttj j
�|��D ]V\} }
}|r�zt�| �}W n tj
k
r� Y q�Y n
X |�� |�r|d8 }q�| S t�
d�|���dS )z(extract host and port from an URL stringr � Nr F�&�=� �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�sortedr ZtoolsZ
list_portsZgrepr ZSerialException�close)
r Zurlr Z test_open�argsZregexp�argZoptionr r ZdescZhwid�sr
r
r r
, s<