File: //lib/python3.6/site-packages/pyudev/__pycache__/discover.cpython-36.opt-1.pyc
3
u1‘Wô, ã @ sì d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlZddlZddl Z ddl
Z
ddlmZ ddlm
Z
d d
„ Ze
jejƒG dd„ deƒƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )zš
pyudev.discover
===============
Tools to discover a device given limited information.
.. moduleauthor:: mulhern <amulhern@redhat.com>
é )Úabsolute_import)Údivision)Úprint_function)Úunicode_literalsN)ÚDevices)ÚDeviceNotFoundErrorc s t jˆ ƒ‡ fdd„ƒ}|S )z\
Allow Device discovery methods to return None instead of raising an
exception.
c s$ y
ˆ | |ŽS t k
r dS X dS )z‘
Returns result of calling ``func`` on ``args``, ``kwargs``.
Returns None if ``func`` raises :exc:`DeviceNotFoundError`.
N)r )ÚargsÚkwargs)Úfunc© ú/usr/lib/python3.6/discover.pyÚthe_func1 s
z wrap_exception.<locals>.the_func)Ú functoolsÚwraps)r
r
r )r
r Úwrap_exception+ s r c @ sL e Zd ZdZeejdd„ ƒƒZeejdd„ ƒƒZedd„ ƒZ edd „ ƒZ
d
S )Ú
HypothesiszM
Represents a hypothesis about the meaning of the device identifier.
c C s
t ƒ ‚dS )aì
Match the given string according to the hypothesis.
The purpose of this method is to obtain a value corresponding to
``value`` if that is possible. It may use a regular expression, but
in general it should just return ``value`` and let the lookup method
sort out the rest.
:param str value: the string to inspect
:returns: the matched thing or None if unmatched
:rtype: the type of lookup's key parameter or NoneType
N)ÚNotImplementedError)ÚclsÚvaluer r r ÚmatchD s zHypothesis.matchc C s
t ƒ ‚dS )aN
Lookup the given string according to the hypothesis.
:param Context context: the pyudev context
:param key: a key with which to lookup the device
:type key: the type of match's return value if not None
:returns: a list of Devices obtained
:rtype: frozenset of :class:`Device`
N)r )r ÚcontextÚkeyr r r ÚlookupU s zHypothesis.lookupc C s dS )zé
A potentially expensive method that may allow an :class:`Hypothesis`
to find devices more rapidly or to find a device that it would
otherwise miss.
:param Context context: the pyudev context
Nr )r r r r r Úsetupc s zHypothesis.setupc C s$ | j |ƒ}|dk r| j||ƒS tƒ S )a
Get any devices that may correspond to the given string.
:param Context context: the pyudev context
:param str value: the value to look for
:returns: a list of devices obtained
:rtype: set of :class:`Device`
N)r r Ú frozenset)r r r r r r r Úget_devicesn s
zHypothesis.get_devicesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚclassmethodÚabcÚabstractmethodr r r r r r r r r >