From 49332c5d6e81033ce84f01d7dcf12daac3c7f614 Mon Sep 17 00:00:00 2001 From: dandds Date: Mon, 10 Jun 2019 19:26:44 -0400 Subject: [PATCH] Only raise FileLength validation error on files --- atst/forms/validators.py | 7 +++++-- tests/forms/test_validators.py | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/atst/forms/validators.py b/atst/forms/validators.py index 99265769..82dc1182 100644 --- a/atst/forms/validators.py +++ b/atst/forms/validators.py @@ -1,7 +1,10 @@ +from datetime import datetime import re + +from werkzeug.datastructures import FileStorage from wtforms.validators import ValidationError, StopValidation import pendulum -from datetime import datetime + from atst.utils.localization import translate @@ -103,7 +106,7 @@ def RequiredIf(criteria_function, message=translate("forms.validators.is_require def FileLength(max_length=50000000, message=None): def _file_length(_form, field): - if field.data is None: + if field.data is None or not isinstance(field.data, FileStorage): return True content = field.data.read() diff --git a/tests/forms/test_validators.py b/tests/forms/test_validators.py index c57fe5e0..8f0ae0e5 100644 --- a/tests/forms/test_validators.py +++ b/tests/forms/test_validators.py @@ -100,3 +100,6 @@ class TestFileLength: with pytest.raises(ValidationError): validator(dummy_form, dummy_field) + + dummy_field.data = "random string" + assert validator(dummy_form, dummy_field)