from tortoise.exceptions import ValidationError from tortoise.validators import Validator import typing from services.exoValidation import get_support_from_data class ExoSourceValidator(Validator): """ A validator to validate ... """ def __call__(self, value: typing.IO): exo_supports_compatibility = get_support_from_data( value.read()) if not exo_supports_compatibility['isPdf'] and not exo_supports_compatibility['isCsv'] and not exo_supports_compatibility['isWeb']: raise ValidationError( '[Error] : Exercice non valide (compatible avec aucun support)')