From 8352d61f8d5934f51f4a90ccda776d6800fafdcd Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 5 Jan 2018 18:07:41 +0100 Subject: [PATCH] Div. Bugfixes for 0.79 (#294) * Bugfix supervisor logs * fix list * Update addon.py * Update snapshot.py --- hassio/addons/addon.py | 2 +- hassio/hardware.py | 2 +- hassio/snapshots/snapshot.py | 4 ++-- hassio/supervisor.py | 7 +++++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/hassio/addons/addon.py b/hassio/addons/addon.py index 571f6d304..9dabb94a9 100644 --- a/hassio/addons/addon.py +++ b/hassio/addons/addon.py @@ -661,7 +661,7 @@ class Addon(CoreSysAttributes): try: _LOGGER.info("Build snapshot for addon %s", self._id) await self._loop.run_in_executor(None, _create_tar) - except tarfile.TarError as err: + except (tarfile.TarError, OSError) as err: _LOGGER.error("Can't write tarfile %s: %s", tar_file, err) return False diff --git a/hassio/hardware.py b/hassio/hardware.py index d23a1e542..4f3ea8961 100644 --- a/hassio/hardware.py +++ b/hassio/hardware.py @@ -70,7 +70,7 @@ class Hardware(object): devices = devices_file.read() except OSError as err: _LOGGER.error("Can't read asound data: %s", err) - return None + return {} audio_list = {} diff --git a/hassio/snapshots/snapshot.py b/hassio/snapshots/snapshot.py index c3fe641f6..b32c8475e 100644 --- a/hassio/snapshots/snapshot.py +++ b/hassio/snapshots/snapshot.py @@ -296,7 +296,7 @@ class Snapshot(CoreSysAttributes): _LOGGER.info("Snapshot folder %s done", name) self._data[ATTR_FOLDERS].append(name) - except tarfile.TarError as err: + except (tarfile.TarError, OSError) as err: _LOGGER.warning("Can't snapshot folder %s: %s", name, err) # run tasks @@ -324,7 +324,7 @@ class Snapshot(CoreSysAttributes): with tarfile.open(snapshot_tar, "r:gz") as tar_file: tar_file.extractall(path=origin_dir) _LOGGER.info("Restore folder %s done", name) - except tarfile.TarError as err: + except (tarfile.TarError, OSError) as err: _LOGGER.warning("Can't restore folder %s: %s", name, err) # run tasks diff --git a/hassio/supervisor.py b/hassio/supervisor.py index 38d80e1e7..567f1ba50 100644 --- a/hassio/supervisor.py +++ b/hassio/supervisor.py @@ -59,3 +59,10 @@ class Supervisor(CoreSysAttributes): def in_progress(self): """Return True if a task is in progress.""" return self.instance.in_progress + + def logs(self): + """Get Supervisor docker logs. + + Return a coroutine. + """ + return self.instance.logs()