From 7e226b0095b58b3bafb12e5d14b5e00b596ee9fa Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 28 Jul 2017 23:43:45 -0700 Subject: [PATCH] Update code_review_component.markdown --- .../developers/code_review_component.markdown | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/source/developers/code_review_component.markdown b/source/developers/code_review_component.markdown index b79c05e0bdd..fcc47210669 100644 --- a/source/developers/code_review_component.markdown +++ b/source/developers/code_review_component.markdown @@ -11,29 +11,23 @@ footer: true A checklist of things to do when you're adding a new component. +

+Not all existing platforms follow the requirements in this checklist. This cannot be used as a reason to not follow them! +

+ ### {% linkable_title Requirements %} 1. Requirement version pinned: `REQUIREMENTS = ['phue==0.8.1']` - 2. If requirement hosted on GitHub: - - Point at a zip archive of a release tag or commit SHA. - - Add version found in zip-archive as hash to URL. - -```python -REQUIREMENTS = [ - 'http://github.com/technicalpickles/python-nest' - '/archive/e6c9d56a8df455d4d7746389811f2c1387e8cb33.zip' - '#python-nest==3.0.3'] -``` + 2. We no longer want requirements hosted on GitHub. Please upload to PyPi. ### {% linkable_title Configuration %} 1. Voluptuous schema present for config validation - 2. Default parameters specified in voluptuous schema, not in `setup_platform(…)` + 2. Default parameters specified in voluptuous schema, not in `setup(…)` 3. Schema using as many generic config keys as possible from `homeassistant.const` 4. If having platforms, have a `PLATFORM_SCHEMA`, otherwise `CONFIG_SCHEMA`. 5. If `PLATFORM_SCHEMA`, import base from `homeassistant.helpers.config_validation` - ### {% linkable_title Component/platform communication %} 1. If you need to share global data with platforms, use the dictionary `hass.data`. `hass.data[DATA_XY]` while `XY` is the component is preferred over `hass.data[DOMAIN]`.