diff options
| author | Barry Warsaw | 2014-12-11 21:41:29 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2014-12-11 21:41:29 -0500 |
| commit | c86eb81a8e7793c86115e318ad10dda2284f332a (patch) | |
| tree | 87b87b2fbc69d52145d95fd3cabcf75e785c1d0b /src | |
| parent | fe7d286db796630b3bef326bd5106591940c0b5f (diff) | |
| download | mailman-c86eb81a8e7793c86115e318ad10dda2284f332a.tar.gz mailman-c86eb81a8e7793c86115e318ad10dda2284f332a.tar.zst mailman-c86eb81a8e7793c86115e318ad10dda2284f332a.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/rest/configuration.py | 13 | ||||
| -rw-r--r-- | src/mailman/rest/moderation.py | 2 | ||||
| -rw-r--r-- | src/mailman/rest/tests/test_moderation.py | 6 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/mailman/rest/configuration.py b/src/mailman/rest/configuration.py index 6ea78f90e..6d3c85fd8 100644 --- a/src/mailman/rest/configuration.py +++ b/src/mailman/rest/configuration.py @@ -63,7 +63,7 @@ class AcceptableAliases(GetterSetter): alias_set = IAcceptableAliasSet(mlist) alias_set.clear() for alias in value: - alias_set.add(alias.decode('utf-8')) + alias_set.add(alias) @@ -73,13 +73,16 @@ class AcceptableAliases(GetterSetter): def pipeline_validator(pipeline_name): """Convert the pipeline name to a string, but only if it's known.""" if pipeline_name in config.pipelines: - return pipeline_name.decode('utf-8') + return pipeline_name raise ValueError('Unknown pipeline: {}'.format(pipeline_name)) -def list_of_unicode(values): +def list_of_str(values): """Turn a list of things into a list of unicodes.""" - return [value.decode('utf-8') for value in values] + for value in values: + if not isinstance(value, str): + raise ValueError('Expected str, got {!r}'.format(value)) + return values @@ -98,7 +101,7 @@ def list_of_unicode(values): # (e.g. datetimes, timedeltas, enums). ATTRIBUTES = dict( - acceptable_aliases=AcceptableAliases(list_of_unicode), + acceptable_aliases=AcceptableAliases(list_of_str), admin_immed_notify=GetterSetter(as_boolean), admin_notify_mchanges=GetterSetter(as_boolean), administrivia=GetterSetter(as_boolean), diff --git a/src/mailman/rest/moderation.py b/src/mailman/rest/moderation.py index 0bdc50688..4373067ec 100644 --- a/src/mailman/rest/moderation.py +++ b/src/mailman/rest/moderation.py @@ -88,7 +88,7 @@ class _HeldMessageBase(_ModerationBase): # resource. Others we can drop. Since we're mutating the dictionary, # we need to make a copy of the keys. When you port this to Python 3, # you'll need to list()-ify the .keys() dictionary view. - for key in resource.keys(): + for key in list(resource): if key in ('_mod_subject', '_mod_hold_date', '_mod_reason', '_mod_sender', '_mod_message_id'): resource[key[5:]] = resource.pop(key) diff --git a/src/mailman/rest/tests/test_moderation.py b/src/mailman/rest/tests/test_moderation.py index 0e2528b0f..c3daf46de 100644 --- a/src/mailman/rest/tests/test_moderation.py +++ b/src/mailman/rest/tests/test_moderation.py @@ -96,7 +96,8 @@ Something else. with self.assertRaises(HTTPError) as cm: call_api(url.format(held_id), {'action': 'bogus'}) self.assertEqual(cm.exception.code, 400) - self.assertEqual(cm.exception.msg, 'Cannot convert parameters: action') + self.assertEqual(cm.exception.msg, + b'Cannot convert parameters: action') def test_bad_subscription_request_id(self): # Bad request when request_id is not an integer. @@ -122,4 +123,5 @@ Something else. with self.assertRaises(HTTPError) as cm: call_api(url.format(held_id), {'action': 'bogus'}) self.assertEqual(cm.exception.code, 400) - self.assertEqual(cm.exception.msg, 'Cannot convert parameters: action') + self.assertEqual(cm.exception.msg, + b'Cannot convert parameters: action') |
