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()