lib.shyaml

This library does the handling of the configuration files of SmartHomeNG in yaml format. All file i/o from and to these configuration files goes through the functions which are implemented in this library.

Warning

This library is part of the core of SmartHomeNG. It should not be called directly from plugins!

lib.shyaml.convert_linenumber(s, occ=1)[Quellcode]
lib.shyaml.editing_is_enabled()[Quellcode]
lib.shyaml.get_commentedseq(l)[Quellcode]

Convert a list to a commented sequence

lib.shyaml.get_emptynode()[Quellcode]

Return an empty node

lib.shyaml.get_key(path)[Quellcode]
lib.shyaml.get_parent(path)[Quellcode]
lib.shyaml.setInDict(dataDict, path, value)[Quellcode]
lib.shyaml.writeBackToFile(filename, itempath, itemattr, value)[Quellcode]

write the value of an item’s attribute back to the yaml-file

Parameter
  • filename – name of the yaml-file (without the .yaml extension!)

  • itempath – path of the item to modify

  • itemattr – name of the item’s attribute to modify

  • value – new value for the attribute

Rückgabe

formatted string

lib.shyaml.yaml_dump_roundtrip(data)[Quellcode]

Dump yaml to a string using the RoundtripDumper and correct linespacing in output file

Parameter

data – data structure to save

lib.shyaml.yaml_load(filename, ordered=False, ignore_notfound=False)[Quellcode]

Load contents of a configuration file into an dict/OrderedDict structure. The configuration file has to be a valid yaml file

Parameter
  • filename (str) – name of the yaml file to load

  • ordered (bool) – load to an OrderedDict? Default=False

Rückgabe

configuration data loaded from the file (or None if an error occured)

Rückgabetyp

Dict | OrderedDict | None

lib.shyaml.yaml_load_fromstring(string, ordered=False)[Quellcode]

Load contents of a string into an dict/OrderedDict structure. The string has to be valid yaml

Parameter
  • string (str) – name of the yaml file to load

  • ordered (bool) – load to an OrderedDict? Default=False

Rückgabe

configuration data loaded from the file (or None if an error occured) and error string

Rückgabetyp

Dict|OrderedDict|None, str

lib.shyaml.yaml_load_roundtrip(filename)[Quellcode]

Load contents of a yaml file into an dict structure for editing (using Roundtrip Loader)

Parameter

filename – name of the yaml file to load

Rückgabe

data structure loaded from file

lib.shyaml.yaml_save(filename, data)[Quellcode]

Save contents of an OrderedDict structure to a yaml file

Parameter
  • filename (str) – name of the yaml file to save to

  • data (OrderedDict) – configuration data to to save

Rückgabe

Nothing

lib.shyaml.yaml_save_roundtrip(filename, data, create_backup=False)[Quellcode]

Dump yaml using the RoundtripDumper and correct linespacing in output file

Parameter
  • filename – name of the yaml file to save to

  • data – data structure to save

class lib.shyaml.yamlfile(filename, filename_write='', create_bak=False)[Quellcode]

Bases: object

data = None
filename = ''
getnode(path)[Quellcode]

get the contents of a node (branch or leaf)

Parameter

path – path of the node to return

Rückgabe

content of the node

getnodetype(path)[Quellcode]

get the type of a node

Parameter

path – path of the node to return

Rückgabe

node type (‚branch‘, ‚leaf‘ or ‚none‘)

getvalue(path)[Quellcode]

get the value of a leaf-node

Parameter

path – path of the node to return

Rückgabe

value of the leaf (or None, if the node is no leaf-node)

getvaluetype(path)[Quellcode]

get the valuetype of a node

Parameter

path – path of the node to return

Rückgabe

node valuetype

load()[Quellcode]

load the contents of the yaml-file to the data-structure

save()[Quellcode]

save the contents of the data-structure to the yaml-file

setleafvalue(branch, leaf, value)[Quellcode]

set the value of a leaf, specified by branch-path and attribute name

Parameter
  • branch – path of the branch-node which contains th attribute

  • attr – name of the attribute to modify

  • value – new value of the attribute

setvalue(path, value)[Quellcode]

set the value of a leaf, specified by leaf-path

Parameter
  • path – path of the leaf-node to modify

  • value – new value of the leaf-node