schema_interface#
- utils.schema_interface.build_schema(schema_def_dict)[source]#
DESCRIPTION:
This function builds a schema provided a Python dictionary containing the variable types and attributes (if necessary); supported schema types are mandatory (e.g., required = True) and optional (e.g., required = False or is not defined within the schema definitions (schema_def_dict key and value pairs.
A YAML-formatted file snippet describing the schema attributes is as follows. :rtype:
DictThis is an optional boolean (bool) type variable named
variable1 with default value True.
- variable1:
required: False type: bool default: True
This is a mandatory float type variable named variable2.
- variable2:
required: True type: float
This is an optional integer (`int) type variable named
variable3 with default value 1.
- variable3:
type: int default: 1
- Parameters:
- schema_def_dict: Dict
A Python dictionary containing the schema definition attributes; these contents are collect from a YAML-formatted file containing the respective variables and corresponding attributes and defined above.
- Returns:
- schema_attr_dict: Dict
A Python dictionary containing the defined schema and the respective attributes.
- Raises:
- SchemaInterfaceError:
raised if an exception is encountered while defining the default value for optional schema attributes; this is most often encountered when a key and value pair corresponding to the attribute default for an optional variable is not defined for the respective schema variable.
- utils.schema_interface.check_opts(key, valid_opts, data, check_and=False)[source]#
DESCRIPTION:
This function checks that key and value pair is valid relative to the list of accepted values.
- Parameters:
- key: str
A Python string specifying the key for which to validate the respective value against list of accepted values.
- valid_opts: List
A Python list containing the accepted values.
- data: Dict
A Python dictionary containing the key and value pair which to validate.
- Raises:
- SchemaInterfaceError:
raised if an exception is encountered while validating the schema.
- Return type:
None
- utils.schema_interface.validate_keys(varkeys, mandkeys)[source]#
DESCRIPTION:
This function checks whether each of the mandatory attribute keys list (mandkeys) are specified in the variable attribute keys list (varkeys).
- Parameters:
- varkeys: List
A Python list containing the variable attribute keys.
- mandkeys: List
A Python list containing mandatory keys to be sought in the variable attribute keys list (varkeys).
- Returns:
- validate: bool
A Python boolean valued variable specifying whether each of the mandatory keys in mandkeys is within the variable keys list varkeys.
- Return type:
bool
- utils.schema_interface.validate_opts(cls_schema, cls_opts, ignore_extra_keys=True)[source]#
DESCRIPTION:
This function validates the calling class schema; if the respective schema is not validated an exception will be raised; otherwise this function is passive.
- Parameters:
- cls_schema: Dict
A Python dictionary containing the calling class schema.
- cls_opts: Dict
A Python dictionary containing the options (i.e., parameter arguments, keyword arguments, etc.,) passed to the respective calling class.
- Raises:
- SchemaInterfaceError:
raised if an exception is encountered while validating the schema.
- Return type:
None
- utils.schema_interface.validate_schema(cls_schema, cls_opts, ignore_extra_keys=True, write_table=True, logger_method='info', width=50)[source]#
DESCRIPTION:
This method validates the specified caller method options against the specified schema; schema optional values (denoted as Optional instances) are assigned default values during instances when the caller method options (cls_opts) as not defined a corresponding value.
- Parameters:
- cls_schema: Dict
A Python dictionary containing the calling class schema.
- cls_opts: Dict
A Python dictionary containing the options (i.e., parameter arguments, keyword arguments, etc.,) passed to the respective calling class.
- Returns:
- cls_opts: Dict
A Python dictionary containing the options defined upon entry and updated to contain any optional schema default key and value pairs if not specified within the Python dictionary upon entry.
- Return type:
Dict