From de4a83582d57ad907817a101b24868fdca2886ae Mon Sep 17 00:00:00 2001
From: Patrick Jentsch
Date: Tue, 19 Apr 2022 11:48:14 +0200
Subject: [PATCH] simplify form code
---
app/auth/forms.py | 2 +-
app/corpora/forms.py | 44 +++++++++++++++++++++----------------------
app/services/forms.py | 4 ++--
3 files changed, 24 insertions(+), 26 deletions(-)
diff --git a/app/auth/forms.py b/app/auth/forms.py
index e8825aa2..8d47e6b1 100644
--- a/app/auth/forms.py
+++ b/app/auth/forms.py
@@ -23,7 +23,7 @@ class RegistrationForm(FlaskForm):
username = StringField('Username',
validators=[
InputRequired(),
- Length(min=1, max=64),
+ Length(1, 64),
Regexp(
USERNAME_REGEX,
message='Usernames must have only letters, numbers, dots or underscores' # noqa
diff --git a/app/corpora/forms.py b/app/corpora/forms.py
index 8c214595..8384f45b 100644
--- a/app/corpora/forms.py
+++ b/app/corpora/forms.py
@@ -15,20 +15,20 @@ class AddCorpusFileForm(FlaskForm):
Form to add a .vrt corpus file to the current corpus.
'''
# Required fields
- author = StringField('Author', validators=[InputRequired(), Length(min=1, max=255)])
+ author = StringField('Author', validators=[InputRequired(), Length(1, 255)])
publishing_year = IntegerField('Publishing year', validators=[InputRequired()])
- title = StringField('Title', validators=[InputRequired(), Length(min=1, max=255)])
+ title = StringField('Title', validators=[InputRequired(), Length(1, 255)])
vrt = FileField('File', validators=[FileRequired()])
# Optional fields
- address = StringField('Adress', validators=[Length(max=255)])
- booktitle = StringField('Booktitle', validators=[Length(max=255)])
- chapter = StringField('Chapter', validators=[Length(max=255)])
- editor = StringField('Editor', validators=[Length(max=255)])
- institution = StringField('Institution', validators=[Length(max=255)])
- journal = StringField('Journal', validators=[Length(max=255)])
- pages = StringField('Pages', validators=[Length(max=255)])
- publisher = StringField('Publisher', validators=[Length(max=255)])
- school = StringField('School', validators=[Length(max=255)])
+ address = StringField('Adress', validators=[Length(255)])
+ booktitle = StringField('Booktitle', validators=[Length(255)])
+ chapter = StringField('Chapter', validators=[Length(255)])
+ editor = StringField('Editor', validators=[Length(255)])
+ institution = StringField('Institution', validators=[Length(255)])
+ journal = StringField('Journal', validators=[Length(255)])
+ pages = StringField('Pages', validators=[Length(255)])
+ publisher = StringField('Publisher', validators=[Length(255)])
+ school = StringField('School', validators=[Length(255)])
submit = SubmitField()
def validate_vrt(self, field):
@@ -40,9 +40,9 @@ class EditCorpusFileForm(FlaskForm):
Form to edit meta data of one corpus file.
'''
# Required fields
- author = StringField('Author', validators=[DataRequired(), Length(1, 255)])
- publishing_year = IntegerField('Publishing year', validators=[DataRequired()])
- title = StringField('Title', validators=[DataRequired(), Length(1, 255)])
+ author = StringField('Author', validators=[InputRequired(), Length(1, 255)])
+ publishing_year = IntegerField('Publishing year', validators=[InputRequired()])
+ title = StringField('Title', validators=[InputRequired(), Length(1, 255)])
# Optional fields
address = StringField('Adress', validators=[Length(0, 255)])
booktitle = StringField('Booktitle', validators=[Length(0, 255)])
@@ -60,8 +60,8 @@ class AddCorpusForm(FlaskForm):
'''
Form to add a a new corpus.
'''
- description = StringField('Description', validators=[DataRequired(), Length(1, 255)])
- title = StringField('Title', validators=[DataRequired(), Length(1, 32)])
+ description = StringField('Description', validators=[InputRequired(), Length(1, 255)])
+ title = StringField('Title', validators=[InputRequired(), Length(1, 32)])
submit = SubmitField()
@@ -69,14 +69,12 @@ class ImportCorpusForm(FlaskForm):
'''
Form to import a corpus.
'''
- description = StringField('Description', validators=[DataRequired(), Length(1, 255)])
- archive = FileField('File', validators=[DataRequired()])
- title = StringField('Title', validators=[DataRequired(), Length(1, 32)])
+ description = StringField('Description', validators=[InputRequired(), Length(1, 255)])
+ archive = FileField('File', validators=[FileRequired()])
+ title = StringField('Title', validators=[InputRequired(), Length(1, 32)])
submit = SubmitField()
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
-
def validate_archive(self, field):
- if field.data.mimetype != 'application/zip':
+ valid_mimetypes = ['application/zip', 'application/x-zip', 'application/x-zip-compressed']
+ if field.data.mimetype not in valid_mimetypes:
raise ValidationError('ZIP files only!')
diff --git a/app/services/forms.py b/app/services/forms.py
index c5a9c790..9d7bf45d 100644
--- a/app/services/forms.py
+++ b/app/services/forms.py
@@ -15,8 +15,8 @@ from . import SERVICES
class AddJobForm(FlaskForm):
- description = StringField('Description', validators=[InputRequired(), Length(min=1, max=255)])
- title = StringField('Title', validators=[InputRequired(), Length(min=1, max=32)])
+ description = StringField('Description', validators=[InputRequired(), Length(1, 255)])
+ title = StringField('Title', validators=[InputRequired(), Length(1, 32)])
version = SelectField('Version', validators=[DataRequired()])
submit = SubmitField()