Home Assistant Unofficial Reference 2024.12.1
homeassistant.util.yaml.loader Namespace Reference

Classes

class  _LoaderMixin
 
class  FastSafeLoader
 
class  PythonSafeLoader
 
class  Secrets
 
class  YamlTypeError
 

Functions

NodeDictClass|NodeListClass|NodeStrClass _add_reference (dict|list|str|NodeDictClass|NodeListClass|NodeStrClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeDictClass _add_reference (dict|NodeDictClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeListClass _add_reference (list|NodeListClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeStrClass _add_reference (str|NodeStrClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeDictClass _add_reference_to_node_class (NodeDictClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeDictClass|NodeListClass|NodeStrClass _add_reference_to_node_class (NodeDictClass|NodeListClass|NodeStrClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeListClass _add_reference_to_node_class (NodeListClass obj, LoaderType loader, yaml.nodes.Node node)
 
NodeStrClass _add_reference_to_node_class (NodeStrClass obj, LoaderType loader, yaml.nodes.Node node)
 
JSON_TYPE _construct_seq (LoaderType loader, yaml.nodes.Node node)
 
str _env_var_yaml (LoaderType loader, yaml.nodes.Node node)
 
Iterator[str] _find_files (str directory, str pattern)
 
NodeDictClass _handle_mapping_tag (LoaderType loader, yaml.nodes.MappingNode node)
 
str|int|float|None _handle_scalar_tag (LoaderType loader, yaml.nodes.ScalarNode node)
 
list[JSON_TYPE_include_dir_list_yaml (LoaderType loader, yaml.nodes.Node node)
 
JSON_TYPE _include_dir_merge_list_yaml (LoaderType loader, yaml.nodes.Node node)
 
NodeDictClass _include_dir_merge_named_yaml (LoaderType loader, yaml.nodes.Node node)
 
NodeDictClass _include_dir_named_yaml (LoaderType loader, yaml.nodes.Node node)
 
JSON_TYPE _include_yaml (LoaderType loader, yaml.nodes.Node node)
 
bool _is_file_valid (str name)
 
JSON_TYPE _parse_yaml (type[FastSafeLoader|PythonSafeLoader] loader, str|TextIO content, Secrets|None secrets=None)
 
JSON_TYPE _parse_yaml_python (str|TextIO|StringIO content, Secrets|None secrets=None)
 
None add_constructor (Any tag, Any constructor)
 
JSON_TYPE|None load_yaml (str|os.PathLike[str] fname, Secrets|None secrets=None)
 
dict load_yaml_dict (str|os.PathLike[str] fname, Secrets|None secrets=None)
 
def NodeT
 
JSON_TYPE parse_yaml (str|TextIO|StringIO content, Secrets|None secrets=None)
 
JSON_TYPE secret_yaml (LoaderType loader, yaml.nodes.Node node)
 

Variables

 _LOGGER
 
bool HAS_C_LOADER = True
 
 JSON_TYPE
 
 LoaderType
 

Detailed Description

Custom loader.

Function Documentation

◆ _add_reference() [1/4]

NodeDictClass | NodeListClass | NodeStrClass homeassistant.util.yaml.loader._add_reference ( dict | list | str | NodeDictClass | NodeListClass | NodeStrClass  obj,
LoaderType  loader,
yaml.nodes.Node  node 
)
private
Add file reference information to an object.

Definition at line 249 of file loader.py.

◆ _add_reference() [2/4]

NodeDictClass homeassistant.util.yaml.loader._add_reference ( dict | NodeDictClass  obj,
LoaderType  loader,
yaml.nodes.Node   node 
)
private

Definition at line 244 of file loader.py.

◆ _add_reference() [3/4]

NodeListClass homeassistant.util.yaml.loader._add_reference ( list | NodeListClass  obj,
LoaderType  loader,
yaml.nodes.Node   node 
)
private

Definition at line 232 of file loader.py.

◆ _add_reference() [4/4]

NodeStrClass homeassistant.util.yaml.loader._add_reference ( str | NodeStrClass  obj,
LoaderType  loader,
yaml.nodes.Node   node 
)
private

Definition at line 238 of file loader.py.

◆ _add_reference_to_node_class() [1/4]

NodeDictClass homeassistant.util.yaml.loader._add_reference_to_node_class ( NodeDictClass  obj,
LoaderType  loader,
yaml.nodes.Node   node 
)
private

Definition at line 277 of file loader.py.

◆ _add_reference_to_node_class() [2/4]

NodeDictClass | NodeListClass | NodeStrClass homeassistant.util.yaml.loader._add_reference_to_node_class ( NodeDictClass | NodeListClass | NodeStrClass  obj,
LoaderType  loader,
yaml.nodes.Node  node 
)
private
Add file reference information to a node class object.

Definition at line 282 of file loader.py.

◆ _add_reference_to_node_class() [3/4]

NodeListClass homeassistant.util.yaml.loader._add_reference_to_node_class ( NodeListClass  obj,
LoaderType  loader,
yaml.nodes.Node   node 
)
private

Definition at line 265 of file loader.py.

◆ _add_reference_to_node_class() [4/4]

NodeStrClass homeassistant.util.yaml.loader._add_reference_to_node_class ( NodeStrClass  obj,
LoaderType  loader,
yaml.nodes.Node   node 
)
private

Definition at line 271 of file loader.py.

◆ _construct_seq()

JSON_TYPE homeassistant.util.yaml.loader._construct_seq ( LoaderType  loader,
yaml.nodes.Node  node 
)
private
Add line number and file name to Load YAML sequence.

Definition at line 449 of file loader.py.

◆ _env_var_yaml()

str homeassistant.util.yaml.loader._env_var_yaml ( LoaderType  loader,
yaml.nodes.Node  node 
)
private
Load environment variables and embed it into the configuration YAML.

Definition at line 465 of file loader.py.

◆ _find_files()

Iterator[str] homeassistant.util.yaml.loader._find_files ( str  directory,
str  pattern 
)
private
Recursively load files in a directory.

Definition at line 334 of file loader.py.

◆ _handle_mapping_tag()

NodeDictClass homeassistant.util.yaml.loader._handle_mapping_tag ( LoaderType  loader,
yaml.nodes.MappingNode   node 
)
private
Load YAML mappings into an ordered dictionary to preserve key order.

Definition at line 408 of file loader.py.

◆ _handle_scalar_tag()

str | int | float | None homeassistant.util.yaml.loader._handle_scalar_tag ( LoaderType  loader,
yaml.nodes.ScalarNode   node 
)
private
Add line number and file name to Load YAML sequence.

Definition at line 455 of file loader.py.

◆ _include_dir_list_yaml()

list[JSON_TYPE] homeassistant.util.yaml.loader._include_dir_list_yaml ( LoaderType  loader,
yaml.nodes.Node   node 
)
private
Load multiple files from directory as a list.

Definition at line 379 of file loader.py.

◆ _include_dir_merge_list_yaml()

JSON_TYPE homeassistant.util.yaml.loader._include_dir_merge_list_yaml ( LoaderType  loader,
yaml.nodes.Node   node 
)
private
Load multiple files from directory as a merged list.

Definition at line 393 of file loader.py.

◆ _include_dir_merge_named_yaml()

NodeDictClass homeassistant.util.yaml.loader._include_dir_merge_named_yaml ( LoaderType  loader,
yaml.nodes.Node   node 
)
private
Load multiple files from directory as a merged dictionary.

Definition at line 363 of file loader.py.

◆ _include_dir_named_yaml()

NodeDictClass homeassistant.util.yaml.loader._include_dir_named_yaml ( LoaderType  loader,
yaml.nodes.Node  node 
)
private
Load multiple files from directory as a dictionary.

Definition at line 345 of file loader.py.

◆ _include_yaml()

JSON_TYPE homeassistant.util.yaml.loader._include_yaml ( LoaderType  loader,
yaml.nodes.Node  node 
)
private
Load another YAML file and embed it using the !include tag.

Example:
    device_tracker: !include device_tracker.yaml

Definition at line 310 of file loader.py.

◆ _is_file_valid()

bool homeassistant.util.yaml.loader._is_file_valid ( str  name)
private
Decide if a file is valid.

Definition at line 329 of file loader.py.

◆ _parse_yaml()

JSON_TYPE homeassistant.util.yaml.loader._parse_yaml ( type[FastSafeLoader | PythonSafeLoader loader,
str | TextIO  content,
Secrets | None   secrets = None 
)
private
Load a YAML file.

Definition at line 222 of file loader.py.

◆ _parse_yaml_python()

JSON_TYPE homeassistant.util.yaml.loader._parse_yaml_python ( str | TextIO | StringIO  content,
Secrets | None   secrets = None 
)
private
Parse YAML with the python loader (this is very slow).

Definition at line 211 of file loader.py.

◆ add_constructor()

None homeassistant.util.yaml.loader.add_constructor ( Any  tag,
Any  constructor 
)
Add to constructor to all loaders.

Definition at line 486 of file loader.py.

◆ load_yaml()

JSON_TYPE | None homeassistant.util.yaml.loader.load_yaml ( str | os.PathLike[str]  fname,
Secrets | None   secrets = None 
)
Load a YAML file.

If opening the file raises an OSError it will be wrapped in a HomeAssistantError,
except for FileNotFoundError which will be re-raised.

Definition at line 158 of file loader.py.

◆ load_yaml_dict()

dict homeassistant.util.yaml.loader.load_yaml_dict ( str | os.PathLike[str]  fname,
Secrets | None   secrets = None 
)
Load a YAML file and ensure the top level is a dict.

Raise if the top level is not a dict.
Return an empty dict if the file is empty.

Definition at line 178 of file loader.py.

◆ NodeT()

def homeassistant.util.yaml.loader.NodeT
private

Definition at line 296 of file loader.py.

◆ parse_yaml()

JSON_TYPE homeassistant.util.yaml.loader.parse_yaml ( str | TextIO | StringIO  content,
Secrets | None   secrets = None 
)
Parse YAML with the fastest available loader.

Definition at line 194 of file loader.py.

◆ secret_yaml()

JSON_TYPE homeassistant.util.yaml.loader.secret_yaml ( LoaderType  loader,
yaml.nodes.Node  node 
)
Load secrets and embed it into the configuration YAML.

Definition at line 478 of file loader.py.

Variable Documentation

◆ _LOGGER

homeassistant.util.yaml.loader._LOGGER
private

Definition at line 36 of file loader.py.

◆ HAS_C_LOADER

bool homeassistant.util.yaml.loader.HAS_C_LOADER = True

Definition at line 18 of file loader.py.

◆ JSON_TYPE

homeassistant.util.yaml.loader.JSON_TYPE

Definition at line 34 of file loader.py.

◆ LoaderType

homeassistant.util.yaml.loader.LoaderType

Definition at line 155 of file loader.py.