from flask_wtf import FlaskForm from wtforms import (FileField, IntegerField, StringField, SubmitField, ValidationError) from wtforms.validators import DataRequired, Length class AddCorpusFileForm(FlaskForm): author = StringField('Author', validators=[DataRequired(), Length(1, 64)]) file = FileField('File', validators=[DataRequired()]) publishing_year = IntegerField('Publishing year', validators=[DataRequired()]) submit = SubmitField() title = StringField('Title', validators=[DataRequired(), Length(1, 64)]) def validate_file(form, field): if not field.data.filename.lower().endswith('.vrt'): raise ValidationError('File does not have an approved extension: ' '.vrt') class CreateCorpusForm(FlaskForm): description = StringField('Description', validators=[DataRequired(), Length(1, 64)]) submit = SubmitField('Create corpus') title = StringField('Title', validators=[DataRequired(), Length(1, 32)]) class QueryForm(FlaskForm): query = StringField('CQP Query', validators=[DataRequired()]) # hits_per_page = IntegerField('Hits per page', # validators=[DataRequired(), # NumberRange(min=10, max=50)]) submit = SubmitField('Start Query')