Source code for hed.errors.exceptions

"""HED exceptions and exception codes."""


[docs] class HedExceptions: """HED exception codes.""" GENERIC_ERROR = "GENERIC_ERROR" # A list of all exceptions that can be generated by the hedtools. URL_ERROR = "URL_ERROR" 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_MULTIPLE_VALUES = "SCHEMA_LOAD_FAILED" 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" SCHEMA_INVALID = "SCHEMA_INVALID" 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" WIKI_LINE_INVALID = "WIKI_LINE_INVALID" HED_SCHEMA_NODE_NAME_INVALID = "HED_SCHEMA_NODE_NAME_INVALID" SCHEMA_DUPLICATE_PREFIX = "SCHEMA_LOAD_FAILED" SCHEMA_DUPLICATE_LIBRARY = "SCHEMA_LIBRARY_INVALID" BAD_COLUMN_NAMES = "BAD_COLUMN_NAMES" SCHEMA_DUPLICATE_NAMES = "SCHEMA_DUPLICATE_NAMES" CANNOT_PARSE_RDF = "CANNOT_PARSE_RDF" SCHEMA_LOAD_FAILED = "SCHEMA_LOAD_FAILED" SCHEMA_TAG_TSV_BAD_PARENT = "SCHEMA_TAG_TSV_BAD_PARENT"
[docs] class HedFileError(Exception): """Exception raised when a file cannot be parsed due to being malformed, file IO, etc."""
[docs] 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 = []