* Restore imports in order to make isort test pass

* Do string sanitization only if input is a string
This commit is contained in:
Kevin Georgy 2017-08-16 09:25:46 +02:00
parent f389833701
commit bf53f741d6

View File

@ -25,7 +25,9 @@ from django.utils.dateparse import (
) )
from django.utils.duration import duration_string from django.utils.duration import duration_string
from django.utils.encoding import is_protected_type, smart_text from django.utils.encoding import is_protected_type, smart_text
from django.utils.formats import localize_input, number_format, sanitize_separators from django.utils.formats import (
localize_input, number_format, sanitize_separators
)
from django.utils.ipv6 import clean_ipv6_address from django.utils.ipv6 import clean_ipv6_address
from django.utils.timezone import utc from django.utils.timezone import utc
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
@ -942,14 +944,16 @@ class FloatField(Field):
def to_internal_value(self, data): def to_internal_value(self, data):
data = smart_text(data).strip() if isinstance(data, six.text_type):
if self.localize: data = smart_text(data).strip()
data = sanitize_separators(data)
if len(data) > self.MAX_STRING_LENGTH: if len(data) > self.MAX_STRING_LENGTH:
self.fail('max_string_length') self.fail('max_string_length')
if self.localize:
data = sanitize_separators(data)
try: try:
return float(data) return float(data)
except (TypeError, ValueError): except (TypeError, ValueError):