관리-도구
편집 파일: plugin_usb.cpython-36.pyc
3 �<�e� � @ sX d dl mZ d dlT ddlZddlmZ ddlZddlZej j � ZG dd� dej�Z dS )� )�base)�*� N)�commandsc @ sj e Zd ZdZdd� Zdd� Zedd� �Zdd � Zd d� Z dd � Z eddd�dd� �Ze d�ddd��ZdS )� USBPlugina� `usb`:: Sets autosuspend timeout of USB devices to the value specified by the [option]`autosuspend` option in seconds. If the [option]`devices` option is specified, the [option]`autosuspend` option applies to only the USB devices specified, otherwise it applies to all USB devices. + The value `0` means that autosuspend is disabled. + .To turn off USB autosuspend for USB devices `1-1` and `1-2` ==== ---- [usb] devices=1-1,1-2 autosuspend=0 ---- ==== c C sN d| _ t� | _t� | _x*| jjd�jdd�D ]}| jj|j� q,W t � | _ d S )NT�usbZDEVTYPEZ usb_device)Z_devices_supported�setZ _free_devicesZ_assigned_devices�_hardware_inventoryZget_devicesZmatch_property�addZsys_namer �_cmd)�self�device� r � /usr/lib/python3.6/plugin_usb.py� _init_devices s zUSBPlugin._init_devicesc s � fdd�|D �S )Nc s g | ]}� j jd |��qS )r )r Z get_device)�.0�x)r r r � <listcomp>* s z1USBPlugin._get_device_objects.<locals>.<listcomp>r )r Zdevicesr )r r �_get_device_objects) s zUSBPlugin._get_device_objectsc C s dd iS )N�autosuspendr )r r r r �_get_config_options, s zUSBPlugin._get_config_optionsc C s d|_ d|_d S )NTF)Z_has_static_tuningZ_has_dynamic_tuning)r �instancer r r �_instance_init2 s zUSBPlugin._instance_initc C s d S )Nr )r r r r r �_instance_cleanup6 s zUSBPlugin._instance_cleanupc C s d| S )Nz)/sys/bus/usb/devices/%s/power/autosuspendr )r r r r r �_autosuspend_sysfile9 s zUSBPlugin._autosuspend_sysfiler T)Z per_devicec C sR | j |�}|d krd S |rdnd}|sN| j|�}| jj|||rFtjgndd� |S )N�1�0F)�no_error)Z_option_boolr r Z write_to_file�errno�ENOENT)r �valuer Zsim�remove�enable�val�sys_filer r r �_set_autosuspend<