Abhilash Raj pushed to branch master at GNU Mailman / Mailman Core
Commits:
7d5fdcf5 by Mark Sapiro at 2019-05-07T20:33:19Z
Import nonmember accept actions as Action.defer rather than Action.accept.
- - - - -
b3ed916a by Abhilash Raj at 2019-05-07T20:33:19Z
Merge branch 'import' into 'master'
Import nonmember accept actions as Action.defer rather than Action.accept.
Closes #579
See merge request mailman/mailman!509
- - - - -
3 changed files:
- src/mailman/docs/NEWS.rst
- src/mailman/utilities/importer.py
- src/mailman/utilities/tests/test_import.py
Changes:
=====================================
src/mailman/docs/NEWS.rst
=====================================
@@ -29,6 +29,8 @@ Command line
------------
* The ``mailman import21`` command now leaves only regexps in the legacy
``*_these_nonmembers`` list attributes. (Closes #588)
+* The ``mailman import21`` command now imports nonmember accept actions as
+ ``Action.defer`` rather than ``Action.accept``. (Closes #579)
REST
----
=====================================
src/mailman/utilities/importer.py
=====================================
@@ -134,9 +134,10 @@ def member_moderation_action_mapping(value):
def nonmember_action_mapping(value):
# For default_nonmember_action, which used to be called
# generic_nonmember_action, the values were: 0==Accept, 1==Hold,
- # 2==Reject, 3==Discard
+ # 2==Reject, 3==Discard, but note that Accept is really equivalent to
+ # what is now defer.
return {
- 0: Action.accept,
+ 0: Action.defer,
1: Action.hold,
2: Action.reject,
3: Action.discard,
@@ -521,6 +522,9 @@ def import_config_pck(mlist, config_dict):
emails = [addr
for addr in config_dict.get(prop_name, [])
if not addr.startswith('^')]
+ # MM 2.1 accept maps to MM 3 defer
+ if action_name == 'accept':
+ action_name = 'defer'
import_roster(mlist, config_dict, emails, MemberRole.nonmember,
Action[action_name])
# Only keep the regexes in the legacy list property.
=====================================
src/mailman/utilities/tests/test_import.py
=====================================
@@ -738,7 +738,7 @@ class TestMemberActionImport(unittest.TestCase):
def test_nonmember_accept(self):
self._pckdict['generic_nonmember_action'] = 0
- self._do_test(dict(default_nonmember_action=Action.accept))
+ self._do_test(dict(default_nonmember_action=Action.defer))
def test_nonmember_hold(self):
self._pckdict['generic_nonmember_action'] = 1
@@ -1139,7 +1139,7 @@ class TestRosterImport(unittest.TestCase):
def test_nonmembers(self):
import_config_pck(self._mlist, self._pckdict)
expected = {
- 'gene': Action.accept,
+ 'gene': Action.defer,
'homer': Action.hold,
'iris': Action.reject,
'kenny': Action.discard,
@@ -1151,6 +1151,9 @@ class TestRosterImport(unittest.TestCase):
member = self._mlist.nonmembers.get_member(
'{}@example.com'.format(name))
self.assertEqual(member.moderation_action, action)
+ # Action.defer maps from accept; map it back to get the name.
+ if action == Action.defer:
+ action = Action.accept
# Only regexps should remain in the list property.
list_prop = getattr(
self._mlist,
View it on GitLab:
https://gitlab.com/mailman/mailman/compare/71d693654db95c3da4fff83db91b834070c3cc0a...b3ed916aa3a3ee4dda319c14762694aeaee29069
--
View it on GitLab:
https://gitlab.com/mailman/mailman/compare/71d693654db95c3da4fff83db91b834070c3cc0a...b3ed916aa3a3ee4dda319c14762694aeaee29069
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org