From 41fed656c12106d59112dc78f6ebbfea2ba92a56 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 14 Apr 2018 00:19:29 +0200 Subject: [PATCH] Use now attr --- hassio/docker/__init__.py | 5 +++-- hassio/homeassistant.py | 5 +++-- hassio/host/alsa.py | 35 +++++++++++++++++------------------ 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/hassio/docker/__init__.py b/hassio/docker/__init__.py index 58bff4657..a5733ddbc 100644 --- a/hassio/docker/__init__.py +++ b/hassio/docker/__init__.py @@ -1,8 +1,8 @@ """Init file for HassIO docker object.""" from contextlib import suppress -from collections import namedtuple import logging +import attr import docker from .network import DockerNetwork @@ -10,7 +10,8 @@ from ..const import SOCKET_DOCKER _LOGGER = logging.getLogger(__name__) -CommandReturn = namedtuple('CommandReturn', ['exit_code', 'output']) +# pylint: disable=invalid-name +CommandReturn = attr.make_class('CommandReturn', ['exit_code', 'output']) class DockerAPI(object): diff --git a/hassio/homeassistant.py b/hassio/homeassistant.py index e1973ad3c..899050b83 100644 --- a/hassio/homeassistant.py +++ b/hassio/homeassistant.py @@ -1,6 +1,5 @@ """HomeAssistant control object.""" import asyncio -from collections import namedtuple import logging import os import re @@ -9,6 +8,7 @@ import time import aiohttp from aiohttp.hdrs import CONTENT_TYPE +import attr from .const import ( FILE_HASSIO_HOMEASSISTANT, ATTR_IMAGE, ATTR_LAST_VERSION, ATTR_UUID, @@ -24,7 +24,8 @@ _LOGGER = logging.getLogger(__name__) RE_YAML_ERROR = re.compile(r"homeassistant\.util\.yaml") -ConfigResult = namedtuple('ConfigResult', ['valid', 'log']) +# pylint: disable=invalid-name +ConfigResult = attr.make_class('ConfigResult', ['valid', 'log']) class HomeAssistant(JsonConfig, CoreSysAttributes): diff --git a/hassio/host/alsa.py b/hassio/host/alsa.py index b79f46e83..6f8818525 100644 --- a/hassio/host/alsa.py +++ b/hassio/host/alsa.py @@ -1,16 +1,18 @@ """Host Audio-support.""" -from collections import namedtuple import logging import json from pathlib import Path from string import Template +import attr + from ..const import ATTR_INPUT, ATTR_OUTPUT, ATTR_DEVICES, ATTR_NAME from ..coresys import CoreSysAttributes _LOGGER = logging.getLogger(__name__) -DefaultConfig = namedtuple('DefaultConfig', ['input', 'output']) +# pylint: disable=invalid-name +DefaultConfig = attr.make_class('DefaultConfig', ['input', 'output']) class AlsaAudio(CoreSysAttributes): @@ -85,25 +87,22 @@ class AlsaAudio(CoreSysAttributes): def default(self): """Generate ALSA default setting.""" # Init defaults - try: - if self._default is None: - database = self._audio_database() - alsa_input = database.get(self._machine, {}).get(ATTR_INPUT) - alsa_output = database.get(self._machine, {}).get(ATTR_OUTPUT) + if self._default is None: + database = self._audio_database() + alsa_input = database.get(self._machine, {}).get(ATTR_INPUT) + alsa_output = database.get(self._machine, {}).get(ATTR_OUTPUT) - self._default = DefaultConfig(alsa_input, alsa_output) + self._default = DefaultConfig(alsa_input, alsa_output) - # Search exists/new output - if self._default.output is None and self.output_devices: - self._default.output = next(iter(self.output_devices)) - _LOGGER.info("Detect output device %s", self._default.output) + # Search exists/new output + if self._default.output is None and self.output_devices: + self._default.output = next(iter(self.output_devices)) + _LOGGER.info("Detect output device %s", self._default.output) - # Search exists/new input - if self._default.input is None and self.input_devices: - self._default.input = next(iter(self.input_devices)) - _LOGGER.info("Detect input device %s", self._default.input) - except: - _LOGGER.exception("hmm2") + # Search exists/new input + if self._default.input is None and self.input_devices: + self._default.input = next(iter(self.input_devices)) + _LOGGER.info("Detect input device %s", self._default.input) return self._default