From b35bdc606ab47c9e920883ad65fb637a32ef708f Mon Sep 17 00:00:00 2001 From: Wolfgang Ettlinger Date: Tue, 2 Jun 2015 15:54:43 +0200 Subject: [PATCH] style adaptions --- .../components/switch/command_switch.py | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/switch/command_switch.py b/homeassistant/components/switch/command_switch.py index 163881bbf19..d57871153c9 100644 --- a/homeassistant/components/switch/command_switch.py +++ b/homeassistant/components/switch/command_switch.py @@ -1,4 +1,10 @@ # -*- coding: utf-8 -*- +""" +homeassistant.components.switch.command_switch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Allows to configure custom shell commands to turn a switch on/off. +""" import logging from homeassistant.helpers.entity import ToggleEntity from homeassistant.const import STATE_ON, STATE_OFF, DEVICE_DEFAULT_NAME @@ -14,17 +20,18 @@ def setup_platform(hass, config, add_devices_callback, discovery_info=None): switches = config.get('switches', {}) devices = [] - for k, v in switches.items(): + for dev_name, properties in switches.items(): devices.append( CommandSwitch( - k, - v.get('oncmd', 'true'), - v.get('offcmd', 'true'))) + dev_name, + properties.get('oncmd', 'true'), + properties.get('offcmd', 'true'))) add_devices_callback(devices) class CommandSwitch(ToggleEntity): + """ Represents a switch that can be togggled using shell commands """ def __init__(self, name, command_on, command_off): self._name = name or DEVICE_DEFAULT_NAME self._state = STATE_OFF @@ -33,6 +40,7 @@ class CommandSwitch(ToggleEntity): @staticmethod def _switch(command): + """ Execute the actual commands """ _LOGGER.info('Running command: {}'.format(command)) success = (subprocess.call(command, shell=True) == 0) @@ -44,25 +52,30 @@ class CommandSwitch(ToggleEntity): @property def should_poll(self): + """ No polling needed """ return False @property def name(self): + """ The name of the switch """ return self._name @property def state(self): + """ Returns the state of the switch. """ return self._state @property def is_on(self): + """ True if device is on. """ return self._state == STATE_ON def turn_on(self, **kwargs): + """ Turn the device on. """ if CommandSwitch._switch(self._command_on): self._state = STATE_ON def turn_off(self, **kwargs): + """ Turn the device off. """ if CommandSwitch._switch(self._command_off): self._state = STATE_OFF -