diff options
| author | Aurélien Bompard | 2015-06-16 01:43:02 +0200 |
|---|---|---|
| committer | Aurélien Bompard | 2015-06-17 08:24:22 +0200 |
| commit | 92028c599d76bd8e5c17557464e13c352a8af0f8 (patch) | |
| tree | d4da096bce11f816eb8b897c2272e71659dbc10b /src/mailman/utilities/importer.py | |
| parent | b0e36af9d28404a54e435d9427ddffb8c7b6d4c3 (diff) | |
| download | mailman-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.py | 20 |
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 |
