diff --git a/app/main/forms.py b/app/main/forms.py index d9f369fd6400df237a7831932b87384ab390790a..316be954ce86f7751691bda80c263f3add446f97 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -1,5 +1,5 @@ from flask_wtf import FlaskForm -from wtforms import MultipleFileField, StringField, SubmitField +from wtforms import MultipleFileField, StringField, SubmitField, ValidationError from wtforms.validators import DataRequired, Length @@ -14,8 +14,10 @@ class CreateCorpusForm(FlaskForm): 'Title', validators=[DataRequired(), Length(1, 32)] ) - ''' + def validate_files(form, field): - for file in form.files.getlist[field.name]: - if file.mimetype - ''' + for file in field.data: + if not file.filename.lower().endswith('.vrt'): + raise ValidationError( + 'File does not have an approved extension: .vrt' + ) diff --git a/app/services/forms.py b/app/services/forms.py index 655f0e58e6e6c5510eeb3f9751202bc89359ed36..d0c0146b058203afc289ae6cbde74f31123d7eb5 100644 --- a/app/services/forms.py +++ b/app/services/forms.py @@ -1,5 +1,5 @@ from flask_wtf import FlaskForm -from wtforms import MultipleFileField, SelectField, StringField, SubmitField +from wtforms import MultipleFileField, SelectField, StringField, SubmitField, ValidationError from wtforms.validators import DataRequired, Length @@ -29,3 +29,11 @@ class CreateOCRJobForm(FlaskForm): 'Title', validators=[DataRequired(), Length(1, 32)] ) + + def validate_files(form, field): + for file in field.data: + if not file.filename.lower().endswith(('.pdf', '.tif', '.tiff')): + raise ValidationError( + 'File does not have an approved extension: ' + '.pdf | .tif | .tiff' + )