From 061420f279157cab78f3a6d483a44b05c363e6f2 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 15 Sep 2018 22:07:05 +0200 Subject: [PATCH] Make Label handling more robust (#696) * Make Label handling more robust * Update interface.py * Update interface.py * Update interface.py --- hassio/docker/interface.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/hassio/docker/interface.py b/hassio/docker/interface.py index 3c2a8c879..ae3f2e0be 100644 --- a/hassio/docker/interface.py +++ b/hassio/docker/interface.py @@ -32,26 +32,32 @@ class DockerInterface(CoreSysAttributes): """Return name of docker container.""" return None + @property + def meta_config(self): + """Return meta data of config for container/image.""" + if not self._meta: + return {} + return self._meta.get('Config', {}) + + @property + def meta_labels(self): + """Return meta data of labels for container/image.""" + return self.meta_config.get('Labels', {}) + @property def image(self): """Return name of docker image.""" - if not self._meta: - return None - return self._meta['Config']['Image'] + return self.meta_config.get('Image') @property def version(self): """Return version of docker image.""" - if self._meta and LABEL_VERSION in self._meta['Config']['Labels']: - return self._meta['Config']['Labels'][LABEL_VERSION] - return None + return self.meta_labels.get(LABEL_VERSION) @property def arch(self): """Return arch of docker image.""" - if self._meta and LABEL_ARCH in self._meta['Config']['Labels']: - return self._meta['Config']['Labels'][LABEL_ARCH] - return None + return self.meta_labels.get(LABEL_ARCH) @property def in_progress(self):