194
194
>>> test_two = client.get_list('test-two@example.com')
196
>>> test_one.subscribe('anna@example.com', 'Anna')
195
>>> print(test_two.settings['subscription_policy'])
198
Email addresses need to be verified first, so if we try to subscribe a
199
user, we get a response with a token:
201
>>> data = test_one.subscribe('unverified@example.com', 'Unverified')
202
>>> data['token'] is not None
204
>>> print(data['token_owner'])
207
If we know the email address to be valid, we can set the
208
``pre_verified`` flag. However, the list's subscription policy is
209
"confirm", so if we try to subscribe a user, we will also get a token
212
>>> data = test_one.subscribe('unconfirmed@example.com',
214
... pre_verified=True)
215
>>> data['token'] is not None
217
>>> print(data['token_owner'])
220
If we know the user originated the subscription (for example if she or
221
he has been authenticated elsewhere), we can set the ``pre_confirmed``
224
The ``pre_approved`` flag is used for lists that require moderator
225
approval and should only be used if the subscription is initiated by a
228
>>> test_one.subscribe('anna@example.com', 'Anna',
229
... pre_verified=True,
230
... pre_confirmed=True)
197
231
<Member "anna@example.com" on "test-one.example.com">
198
>>> test_one.subscribe('bill@example.com', 'Bill')
233
>>> test_one.subscribe('bill@example.com', 'Bill',
234
... pre_verified=True,
235
... pre_confirmed=True)
199
236
<Member "bill@example.com" on "test-one.example.com">
200
>>> test_two.subscribe('anna@example.com')
238
>>> test_two.subscribe('anna@example.com',
239
... pre_verified=True,
240
... pre_confirmed=True)
201
241
<Member "anna@example.com" on "test-two.example.com">
202
>>> test_two.subscribe('cris@example.com', 'Cris')
243
>>> test_two.subscribe('cris@example.com', 'Cris',
244
... pre_verified=True,
245
... pre_confirmed=True)
203
246
<Member "cris@example.com" on "test-two.example.com">
205
248
We can retrieve all known memberships. These are sorted first by mailing list
357
400
The list of users can also be paginated:
359
>>> page = client.get_user_page(count=2, page=1)
402
>>> page = client.get_user_page(count=4, page=1)
363
406
>>> for user in page:
408
<User "Unverified" (...)>
409
<User "Unconfirmed" (...)>
365
410
<User "Anna" (...)>
366
411
<User "Bill" (...)>
606
653
Members and owners/moderators are separate entries in in the general members
609
>>> test_one.subscribe('bar@example.com')
656
>>> test_one.subscribe('bar@example.com', 'Bar',
657
... pre_verified=True,
658
... pre_confirmed=True)
610
659
<Member "bar@example.com" on "test-one.example.com">
612
661
>>> for member in client.members:
636
685
-----------------------
638
687
Subscription requests can be accessed through the list object's
641
>>> requests = test_one.requests
688
`request` property. So let's create a non-open list first.
690
>>> confirm_first = example_dot_com.create_list('confirm-first')
691
>>> settings = confirm_first.settings
692
>>> settings['subscription_policy'] = 'moderate'
695
>>> confirm_first = client.get_list('confirm-first.example.com')
696
>>> print(confirm_first.settings['subscription_policy'])
643
699
Initially there are no requests:
701
>>> test_one.requests