3
u1Wɭ @ sZ d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlZddlm Z ddlm
Z
dd lmZ dd
lm
Z
ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ G dd deZG dd deZG dd deZG dd deZ G dd d e
e Z!dS )!z
pyudev.device._device
=====================
Device class implementation of :mod:`pyudev`.
.. moduleauthor:: Sebastian Wiesner
)absolute_import)division)print_function)unicode_literalsN) Container)Iterable)Mapping) timedelta)DeviceNotFoundAtPathError)DeviceNotFoundByFileError)#DeviceNotFoundByInterfaceIndexError)!DeviceNotFoundByKernelDeviceError)DeviceNotFoundByNameError)DeviceNotFoundByNumberError) DeviceNotFoundInEnvironmentError)ensure_byte_string)ensure_unicode_string)get_device_type)string_to_bool)udev_list_iteratec @ s| e Zd ZdZedd Zedd Zedd Zedd Zed
d Z edd
Z
edd Zedd Zedd Z
dS )DeviceszT
Class for constructing :class:`Device` objects from various kinds of data.
c C s0 |j |js$tjj|j|jtj}| j||S )a
Create a device from a device ``path``. The ``path`` may or may not
start with the ``sysfs`` mount point:
>>> from pyudev import Context, Device
>>> context = Context()
>>> Devices.from_path(context, '/devices/platform')
Device(u'/sys/devices/platform')
>>> Devices.from_path(context, '/sys/devices/platform')
Device(u'/sys/devices/platform')
``context`` is the :class:`Context` in which to search the device.
``path`` is a device path as unicode or byte string.
Return a :class:`Device` object for the device. Raise
:exc:`DeviceNotFoundAtPathError`, if no device was found for ``path``.
.. versionadded:: 0.18
)
startswithsys_pathospathjoinlstripsep
from_sys_path)clscontextr r! /usr/lib/python3.6/_device.py from_path<