1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
==========
Jabber IDs
==========
In their Launchpad profile, users can register their Jabber IDs.
Adding and editing an ID
------------------------
To register a Jabber ID with his account, the user visits his
profile page and uses the 'Update Jabber IDs' link.
>>> user_browser.open('http://launchpad.dev/~no-priv')
>>> user_browser.getLink('Update Jabber IDs').click()
>>> print user_browser.title
No Privileges Person's Jabber IDs...
The user enters the Jabber ID in the text field and clicks on the
'Save Changes' button.
>>> user_browser.getControl(name='field.jabberid').value = (
... 'jeff@jabber.org')
>>> user_browser.getControl('Save Changes').click()
In this case, the user tried registering a jabber ID that was already
registered by someone else. Since only one person can use a Jabber ID,
an error is displayed and the user can enter another one:
>>> def show_errors(browser):
... for error in find_tags_by_class(browser.contents, 'error'):
... print extract_text(error)
>>> show_errors(user_browser)
There is 1 error.
New Jabber user ID:
The Jabber ID jeff@jabber.org is already registered by Jeff Waugh.
However, if the user enters a Jabber ID which isn't already registered,
it will be associated with his account.
>>> user_browser.getControl(name='field.jabberid').value = (
... 'no-priv@jabber.org')
>>> user_browser.getControl('Save Changes').click()
>>> show_errors(user_browser)
>>> def show_jabberids(browser):
... tags = find_tag_by_id(browser.contents, 'jabber-ids')
... for dd in tags.findAll('dd'):
... print extract_text(dd)
>>> show_jabberids(user_browser)
no-priv@jabber.org
Removing an ID
--------------
To remove an existing Jabber ID, the user simply checks the 'Remove'
checkbox besides the ID:
>>> user_browser.getLink('Update Jabber IDs').click()
>>> user_browser.getControl('Remove', index=0).click()
>>> user_browser.getControl('Save Changes').click()
>>> show_jabberids(user_browser)
No Jabber IDs registered.
|