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$sz Serial.portc Cs&| ¡ d¡r|dd…}d}d}| d¡}| d¡}|D]n}d|vrX| dd¡\}}n|}d}|d krŒt|ƒd}|dkr¨td  |¡ƒ‚q:|d krš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Ús  6