from flask_wtf import FlaskForm from wtforms import (MultipleFileField, StringField, SubmitField, ValidationError) from wtforms.validators import DataRequired, Length class CreateCorpusForm(FlaskForm): description = StringField('Description', validators=[DataRequired(), Length(1, 64)]) files = MultipleFileField('Files', validators=[DataRequired()]) submit = SubmitField('Create corpus') title = StringField('Title', validators=[DataRequired(), Length(1, 32)]) def validate_files(form, field): for file in field.data: if not file.filename.lower().endswith('.vrt'): raise ValidationError('File does not have an approved ' 'extension: .vrt')