1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
# Natural Language Toolkit: Shoebox Errors
#
# Copyright (C) 2001-2006 NLTK Project
# Author: Stuart Robinson <Stuart.Robinson@mpi.nl>
# URL: <http://www.nltk.org/>
# For license information, see LICENSE.TXT
"""
This module provides Shoebox exceptions.
"""
# ---------------------------------------------------------------------
# CLASS: ShoeboxError
# DESC: ???
# ---------------------------------------------------------------------
class ShoeboxError(Exception):
"""
This is the base class for all Shoebox errors.
"""
def __init__(self):
self._msg = ""
# ---------------------------------------------
# CLASS: ValidationError
# DESC: ???
# ---------------------------------------------
class NonUniqueEntryError(ShoeboxError):
"""
???
"""
def __init__(self) :
pass
class ValidationError(ShoeboxError):
def __init__(self):
pass
def setField(self, field):
self._field = field
def getField(self):
return self._field
# ---------------------------------------------
# CLASS: NoMetadataFound
# DESC: ???
# ---------------------------------------------
class NoMetadataFound(ValidationError):
def __init__(self, field):
self._field = field
class FieldError(ShoeboxError):
def __init__(self):
pass
def __str__(self) :
return self.get_message()
class NonUniqueFieldError(FieldError):
"""
Error raised when an attempt is made to retrieve a unique field which has more than one value
"""
def __init__(self, entry):
self._entry = entry
def setEntry(self, entry):
self._entry = entry
def getEntry(self):
return self._entry
# ---------------------------------------------
# CLASS: BadFieldValue
# DESC: ???
# ---------------------------------------------
class BadFieldValueError(ValidationError, FieldError):
FIELD_VALUE_ERROR_RANGE_SET = '1'
FIELD_VALUE_ERROR_NO_WORD_WRAP = '2'
FIELD_VALUE_ERROR_EMPTY_VALUE = '3'
FIELD_VALUE_ERROR_SINGLE_WORD = '4'
errorTypes = {
'1': "Range Set",
'2': "No Word Wrap",
'3': "Empty Value",
'4': "Single Word"
}
def __init__(self, errorType, entry, field, fmMetadata):
self._entry = entry
self._errorType = errorType
self._field = field
self._fmMetadata = fmMetadata
def __str__(self):
e = self.getEntry()
f = self.getField()
typ = self.getErrorDescription()
s = "'%s' error in '\\%s' field of record %i!\nRecord:\n%s" % (typ, f.getMarker(), e.getNumber(), e.getRawText())
return s
def getFieldMarkerMetadata(self):
return self._fmMetadata
def setFieldMarkerMetadata(self, fmMetadata):
self._fmMetadata = fmMetadata
def getErrorDescription(self):
try:
return self.errorTypes[self.getErrorType()]
except:
return None
def getErrorType(self):
return self._errorType
def setErrorType(self, errorType):
self._errorType = errorType
def getEntry(self):
return self._entry
def setEntry(self, entry):
self._entry = entry
|