mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
Modify docstrings to match PEP257
This commit is contained in:
parent
278fdc0983
commit
2609852d6e
@ -1,21 +1,18 @@
|
|||||||
"""
|
"""
|
||||||
homeassistant.components.browser
|
Provides functionality to launch a web browser on the host machine.
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Provides functionality to launch a webbrowser on the host machine.
|
|
||||||
|
|
||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/browser/
|
https://home-assistant.io/components/browser/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
DOMAIN = "browser"
|
DOMAIN = "browser"
|
||||||
|
|
||||||
SERVICE_BROWSE_URL = "browse_url"
|
SERVICE_BROWSE_URL = "browse_url"
|
||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Listen for browse_url events and open
|
"""
|
||||||
the url in the default webbrowser. """
|
Listen for browse_url events and open the url in the default web browser.
|
||||||
|
"""
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
hass.services.register(DOMAIN, SERVICE_BROWSE_URL,
|
hass.services.register(DOMAIN, SERVICE_BROWSE_URL,
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
homeassistant.components.graphite
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Component that records all events and state changes and feeds the data to
|
Component that records all events and state changes and feeds the data to
|
||||||
a graphite installation.
|
a Graphite installation.
|
||||||
|
|
||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/graphite/
|
https://home-assistant.io/components/graphite/
|
||||||
@ -22,7 +20,7 @@ _LOGGER = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Setup graphite feeder. """
|
"""Setup the Graphite feeder."""
|
||||||
graphite_config = config.get('graphite', {})
|
graphite_config = config.get('graphite', {})
|
||||||
host = graphite_config.get('host', 'localhost')
|
host = graphite_config.get('host', 'localhost')
|
||||||
prefix = graphite_config.get('prefix', 'ha')
|
prefix = graphite_config.get('prefix', 'ha')
|
||||||
@ -37,14 +35,13 @@ def setup(hass, config):
|
|||||||
|
|
||||||
|
|
||||||
class GraphiteFeeder(threading.Thread):
|
class GraphiteFeeder(threading.Thread):
|
||||||
""" Feeds data to graphite. """
|
"""Feeds data to Graphite."""
|
||||||
def __init__(self, hass, host, port, prefix):
|
def __init__(self, hass, host, port, prefix):
|
||||||
super(GraphiteFeeder, self).__init__(daemon=True)
|
super(GraphiteFeeder, self).__init__(daemon=True)
|
||||||
self._hass = hass
|
self._hass = hass
|
||||||
self._host = host
|
self._host = host
|
||||||
self._port = port
|
self._port = port
|
||||||
# rstrip any trailing dots in case they think they
|
# rstrip any trailing dots in case they think they need it
|
||||||
# need it
|
|
||||||
self._prefix = prefix.rstrip('.')
|
self._prefix = prefix.rstrip('.')
|
||||||
self._queue = queue.Queue()
|
self._queue = queue.Queue()
|
||||||
self._quit_object = object()
|
self._quit_object = object()
|
||||||
@ -59,23 +56,18 @@ class GraphiteFeeder(threading.Thread):
|
|||||||
self._host, self._port)
|
self._host, self._port)
|
||||||
|
|
||||||
def start_listen(self, event):
|
def start_listen(self, event):
|
||||||
""" Start event-processing thread. """
|
"""Start event-processing thread."""
|
||||||
_LOGGER.debug('Event processing thread started')
|
_LOGGER.debug('Event processing thread started')
|
||||||
self._we_started = True
|
self._we_started = True
|
||||||
self.start()
|
self.start()
|
||||||
|
|
||||||
def shutdown(self, event):
|
def shutdown(self, event):
|
||||||
""" Tell the thread that we are done.
|
"""Signal shutdown of processing event."""
|
||||||
|
|
||||||
This does not block because there is nothing to
|
|
||||||
clean up (and no penalty for killing in-process
|
|
||||||
connections to graphite.
|
|
||||||
"""
|
|
||||||
_LOGGER.debug('Event processing signaled exit')
|
_LOGGER.debug('Event processing signaled exit')
|
||||||
self._queue.put(self._quit_object)
|
self._queue.put(self._quit_object)
|
||||||
|
|
||||||
def event_listener(self, event):
|
def event_listener(self, event):
|
||||||
""" Queue an event for processing. """
|
"""Queue an event for processing."""
|
||||||
if self.is_alive() or not self._we_started:
|
if self.is_alive() or not self._we_started:
|
||||||
_LOGGER.debug('Received event')
|
_LOGGER.debug('Received event')
|
||||||
self._queue.put(event)
|
self._queue.put(event)
|
||||||
@ -84,6 +76,7 @@ class GraphiteFeeder(threading.Thread):
|
|||||||
'queuing event!')
|
'queuing event!')
|
||||||
|
|
||||||
def _send_to_graphite(self, data):
|
def _send_to_graphite(self, data):
|
||||||
|
"""Send data to Graphite."""
|
||||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
sock.settimeout(10)
|
sock.settimeout(10)
|
||||||
sock.connect((self._host, self._port))
|
sock.connect((self._host, self._port))
|
||||||
@ -92,6 +85,7 @@ class GraphiteFeeder(threading.Thread):
|
|||||||
sock.close()
|
sock.close()
|
||||||
|
|
||||||
def _report_attributes(self, entity_id, new_state):
|
def _report_attributes(self, entity_id, new_state):
|
||||||
|
"""Report the attributes."""
|
||||||
now = time.time()
|
now = time.time()
|
||||||
things = dict(new_state.attributes)
|
things = dict(new_state.attributes)
|
||||||
try:
|
try:
|
||||||
@ -114,6 +108,7 @@ class GraphiteFeeder(threading.Thread):
|
|||||||
_LOGGER.exception('Failed to send data to graphite')
|
_LOGGER.exception('Failed to send data to graphite')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
"""Run the process to export the data."""
|
||||||
while True:
|
while True:
|
||||||
event = self._queue.get()
|
event = self._queue.get()
|
||||||
if event == self._quit_object:
|
if event == self._quit_object:
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
homeassistant.components.influxdb
|
A component which allows you to send data to an Influx database.
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
InfluxDB component which allows you to send data to an Influx database.
|
|
||||||
|
|
||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/influxdb/
|
https://home-assistant.io/components/influxdb/
|
||||||
@ -36,8 +34,7 @@ CONF_VERIFY_SSL = 'verify_ssl'
|
|||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Setup the InfluxDB component. """
|
"""Setup the InfluxDB component."""
|
||||||
|
|
||||||
from influxdb import InfluxDBClient, exceptions
|
from influxdb import InfluxDBClient, exceptions
|
||||||
|
|
||||||
if not validate_config(config, {DOMAIN: ['host',
|
if not validate_config(config, {DOMAIN: ['host',
|
||||||
@ -63,13 +60,12 @@ def setup(hass, config):
|
|||||||
influx.query("select * from /.*/ LIMIT 1;")
|
influx.query("select * from /.*/ LIMIT 1;")
|
||||||
except exceptions.InfluxDBClientError as exc:
|
except exceptions.InfluxDBClientError as exc:
|
||||||
_LOGGER.error("Database host is not accessible due to '%s', please "
|
_LOGGER.error("Database host is not accessible due to '%s', please "
|
||||||
"check your entries in the configuration file and that"
|
"check your entries in the configuration file and that "
|
||||||
" the database exists and is READ/WRITE.", exc)
|
"the database exists and is READ/WRITE.", exc)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def influx_event_listener(event):
|
def influx_event_listener(event):
|
||||||
""" Listen for new messages on the bus and sends them to Influx. """
|
"""Listen for new messages on the bus and sends them to Influx."""
|
||||||
|
|
||||||
state = event.data.get('new_state')
|
state = event.data.get('new_state')
|
||||||
if state is None or state.state in (STATE_UNKNOWN, ''):
|
if state is None or state.state in (STATE_UNKNOWN, ''):
|
||||||
return
|
return
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
"""
|
"""
|
||||||
homeassistant.components.mqtt_eventstream
|
Connect two Home Assistant instances via MQTT.
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Connect two Home Assistant instances via MQTT..
|
|
||||||
|
|
||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/mqtt_eventstream.html
|
https://home-assistant.io/components/mqtt_eventstream/
|
||||||
"""
|
"""
|
||||||
import json
|
import json
|
||||||
|
|
||||||
@ -17,21 +15,18 @@ from homeassistant.const import (
|
|||||||
from homeassistant.core import EventOrigin, State
|
from homeassistant.core import EventOrigin, State
|
||||||
from homeassistant.remote import JSONEncoder
|
from homeassistant.remote import JSONEncoder
|
||||||
|
|
||||||
# The domain of your component. Should be equal to the name of your component
|
|
||||||
DOMAIN = "mqtt_eventstream"
|
DOMAIN = "mqtt_eventstream"
|
||||||
|
|
||||||
# List of component names (string) your component depends upon
|
|
||||||
DEPENDENCIES = ['mqtt']
|
DEPENDENCIES = ['mqtt']
|
||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Setup th MQTT eventstream component. """
|
"""Setup th MQTT eventstream component."""
|
||||||
mqtt = loader.get_component('mqtt')
|
mqtt = loader.get_component('mqtt')
|
||||||
pub_topic = config[DOMAIN].get('publish_topic', None)
|
pub_topic = config[DOMAIN].get('publish_topic', None)
|
||||||
sub_topic = config[DOMAIN].get('subscribe_topic', None)
|
sub_topic = config[DOMAIN].get('subscribe_topic', None)
|
||||||
|
|
||||||
def _event_publisher(event):
|
def _event_publisher(event):
|
||||||
""" Handle events by publishing them on the MQTT queue. """
|
"""Handle events by publishing them on the MQTT queue."""
|
||||||
if event.origin != EventOrigin.local:
|
if event.origin != EventOrigin.local:
|
||||||
return
|
return
|
||||||
if event.event_type == EVENT_TIME_CHANGED:
|
if event.event_type == EVENT_TIME_CHANGED:
|
||||||
@ -61,15 +56,15 @@ def setup(hass, config):
|
|||||||
msg = json.dumps(event_info, cls=JSONEncoder)
|
msg = json.dumps(event_info, cls=JSONEncoder)
|
||||||
mqtt.publish(hass, pub_topic, msg)
|
mqtt.publish(hass, pub_topic, msg)
|
||||||
|
|
||||||
# Only listen for local events if you are going to publish them
|
# Only listen for local events if you are going to publish them.
|
||||||
if pub_topic:
|
if pub_topic:
|
||||||
hass.bus.listen(MATCH_ALL, _event_publisher)
|
hass.bus.listen(MATCH_ALL, _event_publisher)
|
||||||
|
|
||||||
# Process events from a remote server that are received on a queue
|
# Process events from a remote server that are received on a queue.
|
||||||
def _event_receiver(topic, payload, qos):
|
def _event_receiver(topic, payload, qos):
|
||||||
"""
|
"""
|
||||||
Receive events published by the other HA instance and fire
|
Receive events published by the other HA instance and fire them on
|
||||||
them on this hass instance.
|
this hass instance.
|
||||||
"""
|
"""
|
||||||
event = json.loads(payload)
|
event = json.loads(payload)
|
||||||
event_type = event.get('event_type')
|
event_type = event.get('event_type')
|
||||||
@ -92,10 +87,10 @@ def setup(hass, config):
|
|||||||
origin=EventOrigin.remote
|
origin=EventOrigin.remote
|
||||||
)
|
)
|
||||||
|
|
||||||
# Only subscribe if you specified a topic
|
# Only subscribe if you specified a topic.
|
||||||
if sub_topic:
|
if sub_topic:
|
||||||
mqtt.subscribe(hass, sub_topic, _event_receiver)
|
mqtt.subscribe(hass, sub_topic, _event_receiver)
|
||||||
|
|
||||||
hass.states.set('{domain}.initialized'.format(domain=DOMAIN), True)
|
hass.states.set('{domain}.initialized'.format(domain=DOMAIN), True)
|
||||||
# return boolean to indicate that initialization was successful
|
|
||||||
return True
|
return True
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
homeassistant.components.splunk
|
A component which allows you to send data to an Splunk instance utilizing the
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
HTTP Event Collector.
|
||||||
Splunk component which allows you to send data to an Splunk instance
|
|
||||||
utilizing the HTTP Event Collector.
|
|
||||||
|
|
||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/splunk/
|
https://home-assistant.io/components/splunk/
|
||||||
@ -33,8 +31,7 @@ CONF_SSL = 'SSL'
|
|||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Setup the Splunk component. """
|
"""Setup the Splunk component."""
|
||||||
|
|
||||||
if not validate_config(config, {DOMAIN: ['token']}, _LOGGER):
|
if not validate_config(config, {DOMAIN: ['token']}, _LOGGER):
|
||||||
_LOGGER.error("You must include the token for your HTTP "
|
_LOGGER.error("You must include the token for your HTTP "
|
||||||
"Event Collector input in Splunk.")
|
"Event Collector input in Splunk.")
|
||||||
@ -55,8 +52,7 @@ def setup(hass, config):
|
|||||||
headers = {'Authorization': 'Splunk ' + token}
|
headers = {'Authorization': 'Splunk ' + token}
|
||||||
|
|
||||||
def splunk_event_listener(event):
|
def splunk_event_listener(event):
|
||||||
""" Listen for new messages on the bus and sends them to Splunk. """
|
"""Listen for new messages on the bus and sends them to Splunk."""
|
||||||
|
|
||||||
state = event.data.get('new_state')
|
state = event.data.get('new_state')
|
||||||
|
|
||||||
if state is None:
|
if state is None:
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
homeassistant.components.statsd
|
A component which allows you to send data to StatsD.
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
StatsD component which allows you to send data to many backends.
|
|
||||||
|
|
||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/statsd/
|
https://home-assistant.io/components/statsd/
|
||||||
@ -31,8 +29,7 @@ CONF_RATE = 'rate'
|
|||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Setup the StatsD component. """
|
"""Setup the StatsD component."""
|
||||||
|
|
||||||
from statsd.compat import NUM_TYPES
|
from statsd.compat import NUM_TYPES
|
||||||
import statsd
|
import statsd
|
||||||
|
|
||||||
@ -53,7 +50,7 @@ def setup(hass, config):
|
|||||||
meter = statsd.Gauge(prefix, statsd_connection)
|
meter = statsd.Gauge(prefix, statsd_connection)
|
||||||
|
|
||||||
def statsd_event_listener(event):
|
def statsd_event_listener(event):
|
||||||
""" Listen for new messages on the bus and sends them to StatsD. """
|
"""Listen for new messages on the bus and sends them to StatsD."""
|
||||||
|
|
||||||
state = event.data.get('new_state')
|
state = event.data.get('new_state')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user