From b782cfde5de607ec92c0673b22b2ff51f7dd21cc Mon Sep 17 00:00:00 2001 From: Arthur Vuillard Date: Thu, 11 May 2017 23:36:21 +0200 Subject: [PATCH] remove obvious calls to unicode() --- modoboa/lib/email_utils.py | 3 ++- modoboa/lib/imap_utf7.py | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modoboa/lib/email_utils.py b/modoboa/lib/email_utils.py index ed1015e8a..a0a3aaa74 100644 --- a/modoboa/lib/email_utils.py +++ b/modoboa/lib/email_utils.py @@ -12,6 +12,7 @@ import time from django.conf import settings from django.utils.encoding import smart_text from django.template.loader import render_to_string +from django.utils import six from modoboa.lib import u2u_decode @@ -77,7 +78,7 @@ class Email(object): """ fname = msg.get_filename() if fname is not None: - if type(fname) is unicode: + if type(fname) is six.text_type: fname = fname.encode("utf-8") decoded = decode_header(fname) value = ( diff --git a/modoboa/lib/imap_utf7.py b/modoboa/lib/imap_utf7.py index 611729a53..f90b13a51 100644 --- a/modoboa/lib/imap_utf7.py +++ b/modoboa/lib/imap_utf7.py @@ -53,6 +53,8 @@ http://svn.plone.org/svn/collective/mxmImapClient/trunk/imapUTF7.py """ from __future__ import print_function, unicode_literals +from django.utils.encoding import force_text + import binascii import codecs @@ -91,7 +93,7 @@ def encoder(s): def modified_unbase64(s): b = binascii.a2b_base64(s.replace(',', '/') + '===') - return unicode(b, 'utf-16be') + return force_text(b, encoding='utf-16be') def decoder(s): @@ -129,6 +131,8 @@ class StreamWriter(codecs.StreamWriter): def imap4_utf_7(name): if name == 'imap4-utf-7': return (encoder, decoder, StreamReader, StreamWriter) + + codecs.register(imap4_utf_7)