
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
M]Wf                 @   s   d dl Z d dlZd dlT dZeZejdkr8d dlmZ nhd dlZej	dkrXd dl
mZ nHej	dkrxd dlmZmZmZ n(ej	d	krd dlmZ ned
jej	dgZdd ZdS )    N)*z3.1.1Zcli)Serialntposix)r   PosixPollSerialVTIMESerialjavaz;Sorry: no implementation for your platform ('{}') availablezserial.urlhandlerc             O   s   |j dd }t}y| j }W n tk
r2   Y nX d|kr|jddd }dj|}xntD ]X}ytj| tj||}	W n t	k
r   w\Y q\X t
|	dr|	j| \} }n|	j}P q\W tdj||d
||}
| |
_|r|
j  |
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.
    Zdo_not_openFz://   r   z.protocol_{}serial_class_for_urlz$invalid URL, protocol {!r} not knownN)N)popr   lowerAttributeErrorsplitformatprotocol_handler_packages	importlibimport_moduleImportErrorhasattrr
   
ValueErrorZportopen)ZurlargskwargsZdo_openklassZurl_lowercaseZprotocolZmodule_nameZpackage_nameZhandler_moduleinstance r   /usr/lib/python3.6/__init__.pyserial_for_url)   s2    



r   )r   sysZserial.serialutil__version__VERSIONplatformZserial.serialclir   osnameZserial.serialwin32Zserial.serialposixr   r   Zserial.serialjavar   r   r   r   r   r   r   r   <module>
   s    



