diff options
| author | Barry Warsaw | 2014-09-22 17:38:00 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2014-09-22 17:38:00 -0400 |
| commit | 710277a7ec626980ed0107921346876e1a7b46be (patch) | |
| tree | 67ad852c1220fcf5909756fc2ab7972831b831da /src | |
| parent | 6b3114c4f0d458db25aa68dc44deeaca5b642ac4 (diff) | |
| download | mailman-710277a7ec626980ed0107921346876e1a7b46be.tar.gz mailman-710277a7ec626980ed0107921346876e1a7b46be.tar.zst mailman-710277a7ec626980ed0107921346876e1a7b46be.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/bin/tests/test_master.py | 2 | ||||
| -rw-r--r-- | src/mailman/interfaces/messages.py | 2 | ||||
| -rw-r--r-- | src/mailman/model/docs/messagestore.rst | 5 | ||||
| -rw-r--r-- | src/mailman/model/messagestore.py | 10 | ||||
| -rw-r--r-- | src/mailman/model/pending.py | 26 | ||||
| -rw-r--r-- | src/mailman/model/tests/test_requests.py | 4 | ||||
| -rw-r--r-- | src/mailman/rest/validator.py | 2 |
7 files changed, 24 insertions, 27 deletions
diff --git a/src/mailman/bin/tests/test_master.py b/src/mailman/bin/tests/test_master.py index 924fbeafd..269edaa23 100644 --- a/src/mailman/bin/tests/test_master.py +++ b/src/mailman/bin/tests/test_master.py @@ -55,7 +55,7 @@ class TestMasterLock(unittest.TestCase): lock = master.acquire_lock_1(False, self.lock_file) is_locked = lock.is_locked lock.unlock() - self.failUnless(is_locked) + self.assertTrue(is_locked) def test_master_state(self): my_lock = Lock(self.lock_file) diff --git a/src/mailman/interfaces/messages.py b/src/mailman/interfaces/messages.py index 4980a4f9d..7b99578c4 100644 --- a/src/mailman/interfaces/messages.py +++ b/src/mailman/interfaces/messages.py @@ -83,7 +83,7 @@ class IMessageStore(Interface): def get_message_by_hash(message_id_hash): """Return the message with the matching X-Message-ID-Hash. - + :param message_id_hash: The X-Message-ID-Hash header contents to search for. :returns: The message, or None if no matching message was found. diff --git a/src/mailman/model/docs/messagestore.rst b/src/mailman/model/docs/messagestore.rst index 4ddce7606..f2f2ca9d2 100644 --- a/src/mailman/model/docs/messagestore.rst +++ b/src/mailman/model/docs/messagestore.rst @@ -28,8 +28,9 @@ header, you will get an exception. However, if the message has a ``Message-ID`` header, it can be stored. >>> msg['Message-ID'] = '<87myycy5eh.fsf@uwakimon.sk.tsukuba.ac.jp>' - >>> message_store.add(msg) - 'AGDWSNXXKCWEILKKNYTBOHRDQGOX3Y35' + >>> x_message_id_hash = message_store.add(msg) + >>> print(x_message_id_hash) + AGDWSNXXKCWEILKKNYTBOHRDQGOX3Y35 >>> print(msg.as_string()) Subject: An important message Message-ID: <87myycy5eh.fsf@uwakimon.sk.tsukuba.ac.jp> diff --git a/src/mailman/model/messagestore.py b/src/mailman/model/messagestore.py index 0b8a0ac78..225d3d1ce 100644 --- a/src/mailman/model/messagestore.py +++ b/src/mailman/model/messagestore.py @@ -66,7 +66,7 @@ class MessageStore: 'Message ID already exists in message store: {0}'.format( message_id)) shaobj = hashlib.sha1(message_id) - hash32 = base64.b32encode(shaobj.digest()) + hash32 = base64.b32encode(shaobj.digest()).decode('ascii') del message['X-Message-ID-Hash'] message['X-Message-ID-Hash'] = hash32 # Calculate the path on disk where we're going to store this message @@ -115,12 +115,8 @@ class MessageStore: @dbconnection def get_message_by_hash(self, store, message_id_hash): - # It's possible the hash came from a message header, in which case it - # will be a Unicode. However when coming from source code, it may be - # an 8-string. Coerce to the latter if necessary; it must be - # US-ASCII. - if isinstance(message_id_hash, unicode): - message_id_hash = message_id_hash.encode('ascii') + if isinstance(message_id_hash, bytes): + message_id_hash = message_id_hash.decode('utf-8') row = store.query(Message).filter_by( message_id_hash=message_id_hash).first() if row is None: diff --git a/src/mailman/model/pending.py b/src/mailman/model/pending.py index a06a660b2..68a8cd63e 100644 --- a/src/mailman/model/pending.py +++ b/src/mailman/model/pending.py @@ -53,15 +53,15 @@ class PendedKeyValue(Model): __tablename__ = 'pendedkeyvalue' - def __init__(self, key, value): - self.key = key - self.value = value - id = Column(Integer, primary_key=True) key = Column(Unicode) value = Column(Unicode) pended_id = Column(Integer, ForeignKey('pended.id')) + def __init__(self, key, value): + self.key = key + self.value = value + @implementer(IPended) @@ -70,16 +70,16 @@ class Pended(Model): __tablename__ = 'pended' - def __init__(self, token, expiration_date): - super(Pended, self).__init__() - self.token = token - self.expiration_date = expiration_date - id = Column(Integer, primary_key=True) token = Column(LargeBinary) # TODO : was RawStr() expiration_date = Column(DateTime) key_values = relationship('PendedKeyValue') + def __init__(self, token, expiration_date): + super(Pended, self).__init__() + self.token = token + self.expiration_date = expiration_date + @implementer(IPendable) @@ -120,10 +120,10 @@ class Pendings: token=token, expiration_date=now() + lifetime) for key, value in pendable.items(): - if isinstance(key, str): - key = key.encode('utf-8') - if isinstance(value, str): - value = value.encode('utf-8') + if isinstance(key, bytes): + key = key.decode('utf-8') + if isinstance(value, bytes): + value = value.decode('utf-8') elif type(value) is int: value = '__builtin__.int\1%s' % value elif type(value) is float: diff --git a/src/mailman/model/tests/test_requests.py b/src/mailman/model/tests/test_requests.py index dc1b9b849..419c6077f 100644 --- a/src/mailman/model/tests/test_requests.py +++ b/src/mailman/model/tests/test_requests.py @@ -70,10 +70,10 @@ Something else. # Calling hold_request() with a bogus request type is an error. with self.assertRaises(TypeError) as cm: self._requests_db.hold_request(5, 'foo') - self.assertEqual(cm.exception.message, 5) + self.assertEqual(cm.exception.args[0], 5) def test_delete_missing_request(self): # Trying to delete a missing request is an error. with self.assertRaises(KeyError) as cm: self._requests_db.delete_request(801) - self.assertEqual(cm.exception.message, 801) + self.assertEqual(cm.exception.args[0], 801) diff --git a/src/mailman/rest/validator.py b/src/mailman/rest/validator.py index 90d0334e9..8fe1a6078 100644 --- a/src/mailman/rest/validator.py +++ b/src/mailman/rest/validator.py @@ -54,7 +54,7 @@ class enum_validator: return self._enum_class[enum_value] except KeyError as exception: # Retain the error message. - raise ValueError(exception.message) + raise ValueError(exception.args[0]) def subscriber_validator(subscriber): |
