Source code for hed.errors.exceptions

from hed.errors.error_types import ErrorContext


[docs]class HedExceptions: GENERIC_ERROR = 'GENERIC_ERROR' # A list of all exceptions that can be generated by the hedtools. FILE_NOT_FOUND = 'fileNotFound' BAD_PARAMETERS = 'badParameters' CANNOT_PARSE_XML = 'cannotParseXML' CANNOT_PARSE_JSON = 'cannotParseJson' INVALID_EXTENSION = 'invalidExtension' INVALID_HED_FORMAT = 'INVALID_HED_FORMAT' INVALID_DATAFRAME = 'INVALID_DATAFRAME' INVALID_FILE_FORMAT = 'INVALID_FILE_FORMAT' # These are actual schema issues, not that the file cannot be found or parsed SCHEMA_HEADER_MISSING = 'SCHEMA_HEADER_INVALID' SCHEMA_HEADER_INVALID = 'SCHEMA_HEADER_INVALID' SCHEMA_UNKNOWN_HEADER_ATTRIBUTE = "SCHEMA_HEADER_INVALID" SCHEMA_LIBRARY_INVALID = "SCHEMA_LIBRARY_INVALID" BAD_HED_LIBRARY_NAME = 'SCHEMA_LIBRARY_INVALID' BAD_WITH_STANDARD = "SCHEMA_LIBRARY_INVALID" BAD_WITH_STANDARD_VERSION = "SCHEMA_LIBRARY_INVALID" ROOTED_TAG_INVALID = "SCHEMA_LIBRARY_INVALID" ROOTED_TAG_HAS_PARENT = "SCHEMA_LIBRARY_INVALID" ROOTED_TAG_DOES_NOT_EXIST = "SCHEMA_LIBRARY_INVALID" IN_LIBRARY_IN_UNMERGED = "SCHEMA_LIBRARY_INVALID" INVALID_LIBRARY_PREFIX = "SCHEMA_LIBRARY_INVALID" SCHEMA_VERSION_INVALID = 'SCHEMA_VERSION_INVALID' SCHEMA_SECTION_MISSING = 'SCHEMA_SECTION_MISSING' WIKI_SEPARATOR_INVALID = 'invalidSectionSeparator' # This issue will contain a list of lines with issues. WIKI_DELIMITERS_INVALID = 'WIKI_DELIMITERS_INVALID' WIKI_LINE_START_INVALID = 'WIKI_LINE_START_INVALID' HED_SCHEMA_NODE_NAME_INVALID = 'HED_SCHEMA_NODE_NAME_INVALID' SCHEMA_DUPLICATE_PREFIX = 'schemaDuplicatePrefix' BAD_COLUMN_NAMES = 'BAD_COLUMN_NAMES'
[docs]class HedFileError(Exception): """Exception raised when a file cannot be parsed due to being malformed, file IO, etc.""" def __init__(self, code, message, filename, issues=None): self.code = code self.message = message self.filename = filename self.issues = issues if self.issues is None: self.issues = [ {'message': message, ErrorContext.FILE_NAME: filename, 'code': code} ]