summaryrefslogtreecommitdiff
path: root/src/mailman/model/docs
diff options
context:
space:
mode:
authorHarshit Bansal2016-04-12 02:58:25 +0530
committerBarry Warsaw2016-04-18 17:13:01 -0400
commit7559ce6dfdf2d569c91fea173968e46d6857d730 (patch)
tree6443ba6deedf2dc315e964e8c9f35bddbd3b2f4b /src/mailman/model/docs
parentd95f5d501623896ab239a94bda0954424a9d3127 (diff)
downloadmailman-7559ce6dfdf2d569c91fea173968e46d6857d730.tar.gz
mailman-7559ce6dfdf2d569c91fea173968e46d6857d730.tar.zst
mailman-7559ce6dfdf2d569c91fea173968e46d6857d730.zip
Extend ISubscriptionService interface.
Add documentation. Extend ISubscriptionService interface.
Diffstat (limited to 'src/mailman/model/docs')
-rw-r--r--src/mailman/model/docs/subscriptions.rst55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/mailman/model/docs/subscriptions.rst b/src/mailman/model/docs/subscriptions.rst
index 6237a24b3..deaea36a1 100644
--- a/src/mailman/model/docs/subscriptions.rst
+++ b/src/mailman/model/docs/subscriptions.rst
@@ -209,3 +209,58 @@ Members can be removed via this service.
on bee@example.com as MemberRole.owner>
<Member: Anne Person <anne@example.com>
on cat@example.com as MemberRole.member>
+
+
+Mass Removal
+============
+
+The subscription service can be used to perform mass removals. You are
+required to pass the list id of the respective mailing list and a list
+of email addresses to be removed.
+
+ >>> bart_2 = subscribe(ant, 'Bart')
+ >>> cris_2 = subscribe(ant, 'Cris')
+ >>> for member in service:
+ ... print(member)
+ <Member: Anne Person <aperson@example.com>
+ on ant@example.com as MemberRole.owner>
+ <Member: Bart Person <bperson@example.com>
+ on ant@example.com as MemberRole.moderator>
+ <Member: Anne Person <aperson@example.com>
+ on ant@example.com as MemberRole.member>
+ <Member: Bart Person <bperson@example.com>
+ on ant@example.com as MemberRole.member>
+ <Member: Cris Person <cperson@example.com>
+ on ant@example.com as MemberRole.member>
+ <Member: Bart Person <bperson@example.com>
+ on bee@example.com as MemberRole.owner>
+ <Member: Anne Person <anne@example.com>
+ on cat@example.com as MemberRole.member>
+ >>> len(service.get_members())
+ 7
+ >>> print(service.find_member('bogus@example.com'))
+ None
+ >>> success, fail = service.unsubscribe_members(
+ ... 'ant.example.com', ['aperson@example.com',
+ ... 'cperson@example.com',
+ ... 'bogus@example.com',
+ ... ])
+ >>> dump_list(success)
+ aperson@example.com
+ cperson@example.com
+ >>> dump_list(fail)
+ bogus@example.com
+ >>> for member in service:
+ ... print(member)
+ <Member: Anne Person <aperson@example.com>
+ on ant@example.com as MemberRole.owner>
+ <Member: Bart Person <bperson@example.com>
+ on ant@example.com as MemberRole.moderator>
+ <Member: Bart Person <bperson@example.com>
+ on ant@example.com as MemberRole.member>
+ <Member: Bart Person <bperson@example.com>
+ on bee@example.com as MemberRole.owner>
+ <Member: Anne Person <anne@example.com>
+ on cat@example.com as MemberRole.member>
+ >>> len(service.get_members())
+ 5