form: adapt date/email widget encoding for py3 (#36515)

This commit is contained in:
Frédéric Péters 2019-11-12 15:08:05 +01:00
parent 1a7e2ec81b
commit 0f4fbdd7ff
1 changed files with 4 additions and 4 deletions

View File

@ -63,6 +63,7 @@ from quixote.html import htmltext, htmltag, htmlescape, TemplateIO
from quixote.util import randbytes
from django.utils.encoding import force_text
from django.utils import six
from django.utils.six.moves.html_parser import HTMLParser
from django.utils.six import StringIO
@ -869,8 +870,7 @@ class EmailWidget(StringWidget):
# @.example.net
self.error = _('invalid address domain')
return
if not type(domain) is unicode:
domain = force_text(domain, 'utf-8', errors='ignore')
domain = force_text(domain, 'utf-8', errors='ignore')
try:
domain = domain.encode('idna')
except UnicodeError:
@ -1039,7 +1039,7 @@ class DateWidget(StringWidget):
def parse(self, request=None):
StringWidget.parse(self, request=request)
if type(self.value) is unicode:
if six.PY2 and type(self.value) is unicode:
self.value = self.value.encode(get_publisher().site_charset)
return self.value
@ -1478,7 +1478,7 @@ class WysiwygTextWidget(TextWidget):
if self.value:
if _sanitizeHTML:
self.value = _sanitizeHTML(self.value, get_request().charset, 'text/html')
elif isinstance(self.value, unicode):
elif six.PY2 and isinstance(self.value, unicode):
self.value = self.value.encode(get_publisher().site_charset)
if self.value.startswith('<br />'):
self.value = self.value[6:]