Extract core comments from #6241 (#6643)

This commit is contained in:
Alex Boyd 2024-04-26 05:41:43 -06:00 committed by GitHub
parent cd91c7050c
commit 9bfb36f58b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 2 deletions

View file

@ -18,10 +18,20 @@ from esphome.util import Registry
def maybe_simple_id(*validators): def maybe_simple_id(*validators):
"""Allow a raw ID to be specified in place of a config block.
If the value that's being validated is a dictionary, it's passed as-is to the specified validators. Otherwise, it's
wrapped in a dict that looks like ``{"id": <value>}``, and that dict is then handed off to the specified validators.
"""
return maybe_conf(CONF_ID, *validators) return maybe_conf(CONF_ID, *validators)
def maybe_conf(conf, *validators): def maybe_conf(conf, *validators):
"""Allow a raw value to be specified in place of a config block.
If the value that's being validated is a dictionary, it's passed as-is to the specified validators. Otherwise, it's
wrapped in a dict that looks like ``{<conf>: <value>}``, and that dict is then handed off to the specified
validators.
(This is a general case of ``maybe_simple_id`` that allows the wrapping key to be something other than ``id``.)
"""
validator = cv.All(*validators) validator = cv.All(*validators)
@schema_extractor("maybe") @schema_extractor("maybe")

View file

@ -304,7 +304,7 @@ def string(value):
"""Validate that a configuration value is a string. If not, automatically converts to a string. """Validate that a configuration value is a string. If not, automatically converts to a string.
Note that this can be lossy, for example the input value 60.00 (float) will be turned into Note that this can be lossy, for example the input value 60.00 (float) will be turned into
"60.0" (string). For values where this could be a problem `string_string` has to be used. "60.0" (string). For values where this could be a problem `string_strict` has to be used.
""" """
check_not_templatable(value) check_not_templatable(value)
if isinstance(value, (dict, list)): if isinstance(value, (dict, list)):

View file

@ -85,7 +85,7 @@ class Component {
/** priority of setup(). higher -> executed earlier /** priority of setup(). higher -> executed earlier
* *
* Defaults to 0. * Defaults to setup_priority::DATA, i.e. 600.
* *
* @return The setup priority of this component * @return The setup priority of this component
*/ */