diff options
| author | Barry Warsaw | 2014-11-30 21:51:03 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2014-11-30 21:51:03 -0500 |
| commit | 44e43727be13e3554342c2b5b75b7dc42abdb18c (patch) | |
| tree | a0b97771f5d0856709ac8ab48c1e8f9eeecef352 /src/mailman/utilities | |
| parent | 065060e56ac2445b6749b60480e9c42573854c5e (diff) | |
| download | mailman-44e43727be13e3554342c2b5b75b7dc42abdb18c.tar.gz mailman-44e43727be13e3554342c2b5b75b7dc42abdb18c.tar.zst mailman-44e43727be13e3554342c2b5b75b7dc42abdb18c.zip | |
Checkpointing.
By using `six` I think I have most of the imports squared away. There's
probably still uses of `unicode` built-ins that need fixing.
The idea is to first get the test suite running (which it doesn't yet), and
then to fix tests.
There's a bug in lazr.config which requires us to patch it for now.
Diffstat (limited to 'src/mailman/utilities')
| -rw-r--r-- | src/mailman/utilities/email.py | 2 | ||||
| -rw-r--r-- | src/mailman/utilities/i18n.py | 4 | ||||
| -rw-r--r-- | src/mailman/utilities/importer.py | 2 | ||||
| -rw-r--r-- | src/mailman/utilities/tests/test_import.py | 15 |
4 files changed, 13 insertions, 10 deletions
diff --git a/src/mailman/utilities/email.py b/src/mailman/utilities/email.py index 7025ddb89..a15c86fb5 100644 --- a/src/mailman/utilities/email.py +++ b/src/mailman/utilities/email.py @@ -68,7 +68,7 @@ def add_message_hash(msg): message_id = message_id[1:-1] else: message_id = message_id.strip() - digest = sha1(message_id).digest() + digest = sha1(message_id.encode('utf-8')).digest() message_id_hash = b32encode(digest) del msg['x-message-id-hash'] msg['X-Message-ID-Hash'] = message_id_hash diff --git a/src/mailman/utilities/i18n.py b/src/mailman/utilities/i18n.py index e22bd6c18..e9136837f 100644 --- a/src/mailman/utilities/i18n.py +++ b/src/mailman/utilities/i18n.py @@ -29,6 +29,7 @@ __all__ = [ import os +import six import sys import errno @@ -203,7 +204,8 @@ def make(template_file, mlist=None, language=None, wrap=True, template = _(fp.read()[:-1]) finally: fp.close() - assert isinstance(template, unicode), 'Translated template is not unicode' + assert isinstance(template, six.text_type), ( + 'Translated template is not unicode') text = expand(template, kw) if wrap: return wrap_text(text) diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py index cc8a0cf44..5cc52fef7 100644 --- a/src/mailman/utilities/importer.py +++ b/src/mailman/utilities/importer.py @@ -48,7 +48,7 @@ from mailman.interfaces.nntp import NewsgroupModeration from mailman.interfaces.usermanager import IUserManager from mailman.utilities.filesystem import makedirs from mailman.utilities.i18n import search -from urllib2 import URLError +from six.moves.urllib_error import URLError from zope.component import getUtility diff --git a/src/mailman/utilities/tests/test_import.py b/src/mailman/utilities/tests/test_import.py index 42608ae45..de40a3ca1 100644 --- a/src/mailman/utilities/tests/test_import.py +++ b/src/mailman/utilities/tests/test_import.py @@ -27,14 +27,14 @@ __all__ = [ import os +import six import mock -import cPickle import unittest from datetime import timedelta, datetime from enum import Enum from pkg_resources import resource_filename -from sqlalchemy.exc import IntegrityError +from six.moves.cPickle import load from zope.component import getUtility from mailman.app.lifecycle import create_list @@ -78,7 +78,7 @@ class TestBasicImport(unittest.TestCase): self._mlist = create_list('blank@example.com') pickle_file = resource_filename('mailman.testing', 'config.pck') with open(pickle_file) as fp: - self._pckdict = cPickle.load(fp) + self._pckdict = load(fp) def _import(self): import_config_pck(self._mlist, self._pckdict) @@ -188,7 +188,7 @@ class TestBasicImport(unittest.TestCase): # moderator_password must not be unicode self._pckdict[b'mod_password'] = b'TESTVALUE' self._import() - self.assertFalse(isinstance(self._mlist.moderator_password, unicode)) + self.assertNotIsInstance(self._mlist.moderator_password, six.text_type) self.assertEqual(self._mlist.moderator_password, b'TESTVALUE') def test_newsgroup_moderation(self): @@ -263,9 +263,10 @@ class TestBasicImport(unittest.TestCase): # Suppress warning messages in test output. with mock.patch('sys.stderr'): self._import() - self.assertEqual(self._mlist.info, - unicode(self._pckdict[b'info'], 'ascii', 'replace'), - "We don't fall back to replacing non-ascii chars") + self.assertEqual( + self._mlist.info, + self._pckdict[b'info'].decode('ascii', 'replace'), + "We don't fall back to replacing non-ascii chars") def test_preferred_language(self): self._pckdict[b'preferred_language'] = b'ja' |
