diff options
| author | Barry Warsaw | 2015-03-21 21:32:12 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2015-03-21 21:32:12 -0400 |
| commit | 783163c4e7eda6d5983bcca512db645c64dad349 (patch) | |
| tree | ae0a79ac7d8b80ad4cc5a54f003ea61d3e01f3d0 /src/mailman/commands | |
| parent | 18b7980823d2f9d5b7b0f50596cc05e8efb845e8 (diff) | |
| download | mailman-783163c4e7eda6d5983bcca512db645c64dad349.tar.gz mailman-783163c4e7eda6d5983bcca512db645c64dad349.tar.zst mailman-783163c4e7eda6d5983bcca512db645c64dad349.zip | |
* Refactor add_member() so that it uses a RequestRecord namedtuple.
* RequestRecord contains no password key so these are not part of the held
requests database any more.
* Pending record contains `email` now instead of `address`.
Diffstat (limited to 'src/mailman/commands')
| -rw-r--r-- | src/mailman/commands/cli_members.py | 12 | ||||
| -rw-r--r-- | src/mailman/commands/docs/members.rst | 37 |
2 files changed, 30 insertions, 19 deletions
diff --git a/src/mailman/commands/cli_members.py b/src/mailman/commands/cli_members.py index e4cad5966..ccacbeeb8 100644 --- a/src/mailman/commands/cli_members.py +++ b/src/mailman/commands/cli_members.py @@ -27,15 +27,14 @@ import codecs from email.utils import formataddr, parseaddr from mailman.app.membership import add_member -from mailman.config import config from mailman.core.i18n import _ from mailman.database.transaction import transactional from mailman.interfaces.command import ICLISubCommand from mailman.interfaces.listmanager import IListManager from mailman.interfaces.member import ( AlreadySubscribedError, DeliveryMode, DeliveryStatus) +from mailman.interfaces.subscriptions import RequestRecord from operator import attrgetter -from passlib.utils import generate_password as generate from zope.component import getUtility from zope.interface import implementer @@ -193,12 +192,11 @@ class Members: continue # Parse the line and ensure that the values are unicodes. display_name, email = parseaddr(line) - # Give the user a default, user-friendly password. - password = generate(int(config.passwords.password_length)) try: - add_member(mlist, email, display_name, password, - DeliveryMode.regular, - mlist.preferred_language.code) + add_member(mlist, + RequestRecord(email, display_name, + DeliveryMode.regular, + mlist.preferred_language.code)) except AlreadySubscribedError: # It's okay if the address is already subscribed, just # print a warning and continue. diff --git a/src/mailman/commands/docs/members.rst b/src/mailman/commands/docs/members.rst index c90418181..3e5b2d09c 100644 --- a/src/mailman/commands/docs/members.rst +++ b/src/mailman/commands/docs/members.rst @@ -36,12 +36,16 @@ Once the mailing list add some members, they will be displayed. >>> from mailman.interfaces.member import DeliveryMode >>> from mailman.app.membership import add_member - >>> add_member(mlist1, 'anne@example.com', 'Anne Person', 'xxx', - ... DeliveryMode.regular, mlist1.preferred_language.code) + >>> from mailman.interfaces.subscriptions import RequestRecord + + >>> add_member(mlist1, RequestRecord('anne@example.com', 'Anne Person', + ... DeliveryMode.regular, + ... mlist1.preferred_language.code)) <Member: Anne Person <anne@example.com> on test1@example.com as MemberRole.member> - >>> add_member(mlist1, 'bart@example.com', 'Bart Person', 'xxx', - ... DeliveryMode.regular, mlist1.preferred_language.code) + >>> add_member(mlist1, RequestRecord('bart@example.com', 'Bart Person', + ... DeliveryMode.regular, + ... mlist1.preferred_language.code)) <Member: Bart Person <bart@example.com> on test1@example.com as MemberRole.member> @@ -52,8 +56,9 @@ Once the mailing list add some members, they will be displayed. Members are displayed in alphabetical order based on their address. :: - >>> add_member(mlist1, 'anne@aaaxample.com', 'Anne Person', 'xxx', - ... DeliveryMode.regular, mlist1.preferred_language.code) + >>> add_member(mlist1, RequestRecord('anne@aaaxample.com', 'Anne Person', + ... DeliveryMode.regular, + ... mlist1.preferred_language.code)) <Member: Anne Person <anne@aaaxample.com> on test1@example.com as MemberRole.member> @@ -136,21 +141,29 @@ status is enabled... :: >>> from mailman.interfaces.member import DeliveryStatus + >>> member = mlist1.members.get_member('anne@aaaxample.com') >>> member.preferences.delivery_status = DeliveryStatus.by_moderator >>> member = mlist1.members.get_member('bart@example.com') >>> member.preferences.delivery_status = DeliveryStatus.by_user + >>> member = add_member( - ... mlist1, 'cris@example.com', 'Cris Person', 'xxx', - ... DeliveryMode.regular, mlist1.preferred_language.code) + ... mlist1, + ... RequestRecord('cris@example.com', 'Cris Person', + ... DeliveryMode.regular, + ... mlist1.preferred_language.code)) >>> member.preferences.delivery_status = DeliveryStatus.unknown >>> member = add_member( - ... mlist1, 'dave@example.com', 'Dave Person', 'xxx', - ... DeliveryMode.regular, mlist1.preferred_language.code) + ... mlist1, + ... RequestRecord('dave@example.com', 'Dave Person', + ... DeliveryMode.regular, + ... mlist1.preferred_language.code)) >>> member.preferences.delivery_status = DeliveryStatus.enabled >>> member = add_member( - ... mlist1, 'elly@example.com', 'Elly Person', 'xxx', - ... DeliveryMode.regular, mlist1.preferred_language.code) + ... mlist1, + ... RequestRecord('elly@example.com', 'Elly Person', + ... DeliveryMode.regular, + ... mlist1.preferred_language.code)) >>> member.preferences.delivery_status = DeliveryStatus.by_bounces >>> args.nomail = 'enabled' |
