lib.metadata
This library module implements the metadata handling for plugins and SmartHomeNG modules.
- class lib.metadata.Metadata(sh, addon_name, addon_type, classpath='')[Quellcode]
Bases:
object
- get_global_plugin_parameters()[Quellcode]
- get_plugin_function_defstrings(with_type=False, with_default=True)[Quellcode]
Build the documentation strings of the plugin’s functions
used e.g. for code completion in logic editor
- get_string(key)[Quellcode]
Return the value for a global key as a string
- Parameter:
key (str) – global key to look up (in section ‚plugin‘ or ‚module‘)
- Rückgabe:
value for the key
- Rückgabetyp:
str
- get_mlstring(mlkey)[Quellcode]
Return the value for a global multilanguage-key as a string
It trys to lookup th value for the default language. If the value for the default language is empty, it trys to look up the value for English. If there is no value for the default language and for English, it trys to lookup the value for German.
- Parameter:
key (str) – global multilanguage-key to look up (in section ‚plugin‘ or ‚module‘)
- Rückgabe:
value for the key
- Rückgabetyp:
str
- get_bool(key)[Quellcode]
Return the value for a global key as a bool
- Parameter:
key (str) – global key to look up (in section ‚plugin‘ or ‚module‘)
- Rückgabe:
value for the key
- Rückgabetyp:
bool
- test_shngcompatibility()[Quellcode]
Test if the actual running version of SmartHomeNG is in the range of supported versions for this addon (module/plugin)
- Rückgabe:
True if the SmartHomeNG version is in the supported range
- Rückgabetyp:
bool
- test_pythoncompatibility()[Quellcode]
Test if the actual running version of Python is in the range of supported versions for this addon (module/plugin)
- Rückgabe:
True if the Python version is in the supported range
- Rückgabetyp:
bool
- test_sdpcompatibility()[Quellcode]
Test if the plugin is based on SDP and check if the version requirements match
- Rückgabe:
True if not SDP-based or the SDP version is in the supported range
- Rückgabetyp:
bool
- get_version()[Quellcode]
Returns the version of the addon
If test_version has been called before, the code_version is taken into account, otherwise the version of the metadata-file is returned
- Rückgabe:
version
- Rückgabetyp:
str
- test_version(code_version)[Quellcode]
Tests if the loaded Python code has a version set and compares it to the metadata version.
- Parameter:
code_version (str) – version of the python code
- Rückgabe:
True: version numbers match, or Python code has no version
- Rückgabetyp:
bool
- get_parameterlist()[Quellcode]
Returns the list of parameter names
- Rückgabe:
List of strings with parameter names
- Rückgabetyp:
list of str
- get_itemdefinitionlist()[Quellcode]
Returns the list of item attribute definitions
- Rückgabe:
List of strings with item attribute names
- Rückgabetyp:
list of str
- get_parameter_type(param)[Quellcode]
Returns the datatype of a parameter
- get_itemdefinition_type(definition)[Quellcode]
Returns the datatype of an item attribute definition
- get_parameter_subtype(param)[Quellcode]
Returns the subtype of a parameter
- get_itemdefinition_subtype(definition)[Quellcode]
Returns the subtype of an item attribute definition
- get_parameter_listlen(param)[Quellcode]
Returns the len of a parameter of type list of a parameter
- get_itemdefinition_listlen(definition)[Quellcode]
Returns the len of a parameter of type list of an item attribute definition
- get_parameter_type_with_subtype(param)[Quellcode]
Returns the datatype of a parameter with subtype (if subtype exists)
- get_itemdefinition_type_with_subtype(definition)[Quellcode]
Returns the datatype of an item attribute definition with subtype (if subtype exists)
- get_parameter_defaultvalue(param)[Quellcode]
Returns the default value for the parameter
- get_parameterdefinition(param, key)[Quellcode]
Returns the value for a key of a parameter as a string
- get_itemdefinition(definition, key)[Quellcode]
Returns the value for a key of a parameter as a string
- check_parameters(args)[Quellcode]
Checks the values of a dict of configured parameters.
Returns a dict with all defined parameters with values and a bool indicating if all parameters are ok (True) or if a mandatory parameter is not configured (False). It returns default values for parameters that have not been configured. The resulting dict contains the values in the the datatype of the parameter definition
- Parameter:
args (dict of parameter-values (values as string)) – Configured parameters with the values
- Rückgabe:
All defined parameters with values, Flag if all parameters are ok (no mandatory is missing)
- Rückgabetyp:
dict, bool
- check_itemattribute(item, attribute, value, defined_in_file=None)[Quellcode]
Checks the value of a plugin-specific item attribute and returnes the checked value or the default value if needed
attribute name is checked - against list of valid attributes-names (defined by section ‚item_attributes‘ of configured plugins) - against list of valid attribute-name prefixes (defined by section ‚item_attribute_prefixes‘ of configured plugins)
- Parameter:
item – item object
attribute –
value –
- Rückgabe: