Support for udev device trigger (#1272)

This commit is contained in:
Pascal Vizeli 2019-09-02 14:07:09 +02:00 committed by GitHub
parent c563f484c9
commit 3d665b9eec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 3 deletions

View File

@ -41,7 +41,7 @@ ADDONS_API_BYPASS = re.compile(
r"^(?:" r"^(?:"
r"|/addons/self/(?!security|update)[^/]+" r"|/addons/self/(?!security|update)[^/]+"
r"|/info" r"|/info"
r"|/hardware/.+" r"|/hardware/trigger"
r"|/services.*" r"|/services.*"
r"|/discovery.*" r"|/discovery.*"
r"|/auth" r"|/auth"

View File

@ -188,3 +188,10 @@ class JsonFileError(HassioError):
class DockerAPIError(HassioError): class DockerAPIError(HassioError):
"""Docker API error.""" """Docker API error."""
# Hardware
class HardwareNotSupportedError(HassioNotSupportedError):
"""Raise if hardware function is not supported."""

View File

@ -9,6 +9,7 @@ from typing import Any, Dict, Optional, Set
import pyudev import pyudev
from ..const import ATTR_DEVICES, ATTR_NAME, ATTR_TYPE, CHAN_ID, CHAN_TYPE from ..const import ATTR_DEVICES, ATTR_NAME, ATTR_TYPE, CHAN_ID, CHAN_TYPE
from ..exceptions import HardwareNotSupportedError
_LOGGER: logging.Logger = logging.getLogger(__name__) _LOGGER: logging.Logger = logging.getLogger(__name__)
@ -155,5 +156,8 @@ class Hardware:
proc = await asyncio.create_subprocess_exec("udevadm", "trigger") proc = await asyncio.create_subprocess_exec("udevadm", "trigger")
await proc.wait() await proc.wait()
if proc.returncode != 0: if proc.returncode == 0:
_LOGGER.waring("udevadm device triggering fails!") return
_LOGGER.waring("udevadm device triggering fails!")
raise HardwareNotSupportedError()