form: adapt date/email widget encoding for py3 (#36515)
This commit is contained in:
parent
1a7e2ec81b
commit
0f4fbdd7ff
|
@ -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:]
|
||||
|
|
Loading…
Reference in New Issue