← Back
Editing: list_ports_linux.cpython-38.pyc
U ��$YK � @ sl d dl Z d dlZd dlmZ G dd� dej�Zd dd�Zedkrhee� �D ]\Z Z Zed � e e e�� qJdS )� N)�list_ports_commonc s( e Zd ZdZ� fdd�Zdd� Z� ZS )�SysFSz-Wrapper for easy sysfs access and device infoc sB t t| ��|� |d k r6tj�|�r6tj�|�}d}nd}tj�|�| _d | _ tj� d�| j��r�tj�d�| j��| _tj�tj�tj� | jd���| _nd | _d | _| jdkr�tj�| j�| _n| jdkr�| j| _nd | _| jd k �r�tj�| j�| _ zt| �| j d��}W n tk �r* d}Y nX t| �| j d �d �| _t| �| j d�d �| _| �| j d�| _|dk�r�tj�| j�| _ntj�| j �| _| �| j d �| _| �| j d�| _| �| jd�| _| jdk�r�| �� nJ| jdk�r | j| _| �| jd�| _n$| jdk�r$| j| _tj�| j�| _|�r>| jd�|�7 _d S )NTFz/sys/class/tty/{}/device� subsystem� usb-serial�usbZbNumInterfaces� ZidVendor� Z idProduct�serial�manufacturer�product� interface)r r Zpnp�idZambaz LINK={})�superr �__init__�os�path�islink�realpath�basename�nameZusb_device_path�exists�formatZdevice_path�joinr �dirnameZusb_interface_path�int� read_line� ValueErrorZvid�pidZ serial_number�locationr r r Zapply_usb_infoZdescription�hwid)�selfZdeviceZis_linkZnum_if�� __class__� �?/usr/lib/python3/dist-packages/serial/tools/list_ports_linux.pyr sT $ zSysFS.__init__c G sJ z.t tjj|� ��}|�� �� }W 5 Q R X |W S tk rD Y dS X dS )z� Helper function to read a single line from a file. One or more parameters are allowed, they are joined with os.path.join. Returns None on errors.. N)�openr r r �readline�strip�IOError)r �args�f�liner# r# r$ r L s zSysFS.read_line)�__name__� __module__�__qualname__�__doc__r r � __classcell__r# r# r! r$ r s 9r Fc C s� t � d�}|�t � d�� |�t � d�� |�t � d�� |�t � d�� |�t � d�� | rn|�t�|�� dd� d d� |D �D �S ) Nz /dev/ttyS*z/dev/ttyUSB*z/dev/ttyACM*z/dev/ttyAMA*z/dev/rfcomm*z/dev/ttyAP*c S s g | ]}|j d kr|�qS )�platform)r )�.0�infor# r# r$ � <listcomp>c s �zcomports.<locals>.<listcomp>c S s g | ]}t |��qS r# )r )r2 �dr# r# r$ r4 d s )�glob�extendr Z list_links)Z include_linksZdevicesr# r# r$ �comportsZ s �r8 �__main__z{}: {} [{}])F)r6 r Zserial.toolsr ZListPortInfor r8 r, �sortedZportZdescr �printr r# r# r# r$ �<module> s J
Save File
Cancel