summaryrefslogtreecommitdiff
path: root/src/mailman/utilities/importer.py
diff options
context:
space:
mode:
authorAurélien Bompard2015-06-16 01:43:02 +0200
committerAurélien Bompard2015-06-17 08:24:22 +0200
commit92028c599d76bd8e5c17557464e13c352a8af0f8 (patch)
treed4da096bce11f816eb8b897c2272e71659dbc10b /src/mailman/utilities/importer.py
parentb0e36af9d28404a54e435d9427ddffb8c7b6d4c3 (diff)
downloadmailman-92028c599d76bd8e5c17557464e13c352a8af0f8.tar.gz
mailman-92028c599d76bd8e5c17557464e13c352a8af0f8.tar.zst
mailman-92028c599d76bd8e5c17557464e13c352a8af0f8.zip
Diffstat (limited to 'src/mailman/utilities/importer.py')
-rw-r--r--src/mailman/utilities/importer.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py
index 85eb951af..0d22ad2c5 100644
--- a/src/mailman/utilities/importer.py
+++ b/src/mailman/utilities/importer.py
@@ -399,14 +399,18 @@ def import_config_pck(mlist, config_dict):
MemberRole.owner)
import_roster(mlist, config_dict, config_dict.get('moderator', []),
MemberRole.moderator)
- import_roster(mlist, config_dict, config_dict.get('accept_these_nonmembers', []),
- MemberRole.nonmember, Action.accept)
- import_roster(mlist, config_dict, config_dict.get('hold_these_nonmembers', []),
- MemberRole.nonmember, Action.hold)
- import_roster(mlist, config_dict, config_dict.get('reject_these_nonmembers', []),
- MemberRole.nonmember, Action.reject)
- import_roster(mlist, config_dict, config_dict.get('discard_these_nonmembers', []),
- MemberRole.nonmember, Action.discard)
+ # Now import the '*_these_nonmembers' properties, filtering out the
+ # regexps which will remain in the property
+ for action_name in ('accept', 'hold', 'reject', 'discard'):
+ prop_name = '{0}_these_nonmembers'.format(action_name)
+ emails = [ addr for addr in config_dict.get(prop_name, [])
+ if not addr.startswith('^') ]
+ import_roster(mlist, config_dict, emails, MemberRole.nonmember,
+ Action[action_name])
+ # Only keep the regexes in the legacy list property
+ list_prop = getattr(mlist, prop_name)
+ for email in emails:
+ list_prop.remove(email)
finally:
mlist.send_welcome_message = send_welcome_message