2019-08-01 08:33:05 +00:00
|
|
|
from flask_wtf import FlaskForm
|
2019-09-23 14:11:01 +00:00
|
|
|
from wtforms import (MultipleFileField, StringField, SubmitField,
|
2019-10-28 08:16:34 +00:00
|
|
|
ValidationError, IntegerField)
|
|
|
|
from wtforms.validators import DataRequired, Length, NumberRange
|
2019-08-01 08:33:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
class CreateCorpusForm(FlaskForm):
|
2019-09-23 14:11:01 +00:00
|
|
|
description = StringField('Description',
|
|
|
|
validators=[DataRequired(), Length(1, 64)])
|
2019-08-01 10:16:49 +00:00
|
|
|
submit = SubmitField('Create corpus')
|
2019-09-23 14:11:01 +00:00
|
|
|
title = StringField('Title', validators=[DataRequired(), Length(1, 32)])
|
2019-08-01 12:01:22 +00:00
|
|
|
|
2019-10-28 14:46:25 +00:00
|
|
|
|
|
|
|
class AddCorpusFileForm(FlaskForm):
|
|
|
|
author = StringField('Author', validators=[DataRequired(), Length(1, 64)])
|
|
|
|
files = MultipleFileField('Files', validators=[DataRequired()])
|
|
|
|
publishing_year = IntegerField('Publishing year', validators=[DataRequired()])
|
|
|
|
submit = SubmitField()
|
|
|
|
title = StringField('Title', validators=[DataRequired(), Length(1, 64)])
|
|
|
|
|
2019-08-01 08:33:05 +00:00
|
|
|
def validate_files(form, field):
|
2019-08-01 12:01:22 +00:00
|
|
|
for file in field.data:
|
|
|
|
if not file.filename.lower().endswith('.vrt'):
|
2019-09-23 14:11:01 +00:00
|
|
|
raise ValidationError('File does not have an approved '
|
|
|
|
'extension: .vrt')
|
2019-10-28 08:16:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
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')
|