HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/serial/__pycache__/__init__.cpython-310.pyc
o

/�_��@s�ddlmZddlZddlZddlTdZeZejdkr"ddlm	Z	n4ddl
Z
e
jdkr2ddlm	Z	n$e
jdkrBdd	l
m	Z	mZmZne
jd
krNddlm	Z	ned�e
j���dgZd
d�ZdS)�)�absolute_importN)�*z3.5�cli)�Serial�nt�posix)r�PosixPollSerial�VTIMESerial�javaz;Sorry: no implementation for your platform ('{}') availablezserial.urlhandlerc	Os�|�dd�}t}z|��}Wn	tyYnFwd|vr^|�dd�d}d�|�}tD]*}z
t�|�t�||�}	Wn	t	yDYq,wt
|	d�rR|	�|�\}}n|	j}ntd�|���|d	g|�Ri|��}
||
_
|rr|
��|
S)
a�    Get an instance of the Serial class, depending on port/url. The port is not
    opened when the keyword parameter 'do_not_open' is true, by default it
    is. All other parameters are directly passed to the __init__ method when
    the port is instantiated.

    The list of package names that is searched for protocol handlers is kept in
    ``protocol_handler_packages``.

    e.g. we want to support a URL ``foobar://``. A module
    ``my_handlers.protocol_foobar`` is provided by the user. Then
    ``protocol_handler_packages.append("my_handlers")`` would extend the search
    path so that ``serial_for_url("foobar://"))`` would work.
    �do_not_openFz://�rz.protocol_{}�serial_class_for_urlz$invalid URL, protocol {!r} not knownN)�popr�lower�AttributeError�split�format�protocol_handler_packages�	importlib�
import_module�ImportError�hasattrr
�
ValueError�port�open)�url�args�kwargs�do_open�klass�
url_lowercase�protocol�module_name�package_name�handler_module�instance�r&�1/usr/lib/python3/dist-packages/serial/__init__.py�serial_for_url+s6�

�
r()�
__future__r�sysr�serial.serialutil�__version__�VERSION�platform�serial.serialclir�os�name�serial.serialwin32�serial.serialposixrr	�serial.serialjavarrrr(r&r&r&r'�<module>s&	



�