HedValidator¶
- class HedValidator(hed_schema, def_dicts=None, definitions_allowed=False)[source]
Top level validation of HED strings.
This module contains the HedValidator class which is used to validate the tags in a HED string or a file. The file types include .tsv, .txt, and .xlsx. To get the validation issues after creating a HedValidator class call the get_validation_issues() function.
Methods
|
Constructor for the HedValidator class. |
|
Report repeated or erroneous slashes. |
|
|
|
|
|
Validate the string using the schema |
|
Validate units and value classes |
Attributes
- HedValidator.__init__(hed_schema, def_dicts=None, definitions_allowed=False)[source]¶
Constructor for the HedValidator class.
- Parameters:
hed_schema (HedSchema or HedSchemaGroup) – HedSchema object to use for validation.
def_dicts (DefinitionDict or list or dict) – the def dicts to use for validation
definitions_allowed (bool) – If False, flag definitions found as errors
- HedValidator.check_tag_formatting(original_tag)[source]¶
Report repeated or erroneous slashes.
- Parameters:
original_tag (HedTag) – The original tag that is used to report the error.
- Returns:
Validation issues. Each issue is a dictionary.
- Return type:
list
- HedValidator.validate(hed_string, allow_placeholders, error_handler=None)[source]¶
Validate the string using the schema
- Parameters:
hed_string (HedString) – the string to validate
allow_placeholders (bool) – allow placeholders in the string
error_handler (ErrorHandler or None) – the error handler to use, creates a default one if none passed
- Returns:
A list of issues for HED string
- Return type:
issues (list of dict)
- HedValidator.validate_units(original_tag, validate_text=None, report_as=None, error_code=None, index_offset=0)[source]¶
Validate units and value classes
- Parameters:
original_tag (HedTag) – The source tag
validate_text (str) – the text we want to validate, if not the full extension.
report_as (HedTag) – Report the error tag as coming from a different one. Mostly for definitions that expand.
error_code (str) – The code to override the error as. Again mostly for def/def-expand tags.
index_offset (int) – Offset into the extension validate_text starts at
- Returns:
Issues found from units
- Return type:
issues(list)
- HedValidator.pattern_doubleslash = re.compile('([ \\t/]{2,}|^/|/$)')¶