def assertInRange(cls, attr, minVal, maxVal, attrName): message = "invalid {} '{}' outside of range [{}, {}]" if attr < minVal: raise exceptions.DatamodelValidationException( message.format(attrName, attr, minVal, maxVal)) if attr > maxVal: raise exceptions.DatamodelValidationException( message.format(attrName, attr, minVal, maxVal))
def sanitizeString(cls, attr, attrName): if not isinstance(attr, basestring): message = "invalid {} '{}' not a string".format(attrName, attr) raise exceptions.DatamodelValidationException(message) if isinstance(attr, unicode): attr = attr.encode('utf8') if len(attr) > cls.maxStringLength: attr = attr[:cls.maxStringLength] return attr
def sanitizeInt(cls, attr, minVal, maxVal, attrName): if not isinstance(attr, int): message = "invalid {} '{}' not an int".format(attrName, attr) raise exceptions.DatamodelValidationException(message) if attr < minVal: attr = minVal if attr > maxVal: attr = maxVal return attr
def assertInt(cls, attr, attrName): if not isinstance(attr, (int, long)): message = "invalid {} '{}' not an int".format(attrName, attr) raise exceptions.DatamodelValidationException(message)
def assertValidRange(cls, start, end, startName, endName): if start > end: message = "invalid coordinates: {} ({}) " \ "greater than {} ({})".format(startName, start, endName, end) raise exceptions.DatamodelValidationException(message)