Personal Home Pages =================== Launchpad creates profiles for people that have contributed to free software (e.g. in a bug import or a translation template upload). It's clearly stated that those people don't use Launchpad and why there's a profile for them. >>> browser.open('http://launchpad.dev/~matsubara') >>> browser.title 'Diogo Matsubara does not use Launchpad' >>> content = find_main_content(browser.contents).find('p') >>> print extract_text(content) Diogo Matsubara does not use Launchpad. This page was created on 2006-12-13 when importing the Portuguese... Email address disclosure ------------------------ Mark has a registered email address, and he has chosen to disclose it to the world. Anonymous users cannot see Mark's address >>> anon_browser.open('http://launchpad.dev/~mark') >>> print extract_text( ... find_tag_by_id(anon_browser.contents, 'email-addresses')) Email: Log in for email information. A logged in user such as Sample Person, can see Mark's addresses. >>> sample_browser = setupBrowser(auth='Basic test@canonical.com:test') >>> sample_browser.open('http://launchpad.dev/~mark') >>> print extract_text( ... find_tag_by_id(sample_browser.contents, 'email-addresses')) Email: mark@example.com As for Sample Person, he has chosen not to disclose his email addresses. unprivileged users like No Privileges Person cannot see his addresses: >>> user_browser.open('http://launchpad.dev/~name12') >>> print extract_text( ... find_tag_by_id(user_browser.contents, 'email-addresses')) Email: No public address provided. But Foo Bar can: >>> admin_browser.open('http://launchpad.dev/~name12') >>> print extract_text( ... find_tag_by_id(admin_browser.contents, 'email-addresses')) Email: Change e-mail settings test@canonical.com testing@canonical.com Open ID link ------------ When a person visits his or her own page, they'll see their OpenID login URL. >>> user_browser.open('http://launchpad.dev/~no-priv') >>> print extract_text( ... find_tag_by_id(user_browser.contents, 'openid-info')) OpenID login: http://launchpad.dev/~no-priv... The URL is followed by a helpful link. >>> print user_browser.getLink('OpenID help').url http://launchpad.dev/+help/openid.html However, when the user visits someone else's page, they see no such URL. >>> user_browser.open('http://launchpad.dev/~salgado') >>> print find_tag_by_id(user_browser.contents, 'openid-info') None And there is no helpful link. >>> print user_browser.getLink('openid help').url Traceback (most recent call last): ... LinkNotFoundError Jabber IDs ---------- A person's jabber IDs are only show to authenticated users. >>> user_browser.open('http://launchpad.dev/~mark') >>> print extract_text( ... find_tag_by_id(user_browser.contents, 'jabber-ids')) Jabber: markshuttleworth@jabber.org >>> anon_browser.open('http://launchpad.dev/~mark') >>> print extract_text( ... find_tag_by_id(anon_browser.contents, 'jabber-ids')) Jabber: <email address hidden> OpenPGP keys ------------ In order to avoid email harvesters to find a person's email addresses just by following the link to that person's OpenPGP keys, only authenticated users can see the key ID with a link to the keyserver. >>> user_browser.open('http://launchpad.dev/~name16') >>> print find_tag_by_id(user_browser.contents, 'pgp-keys') >> anon_browser.getLink('Recent activities') If the person hasn't made any contributions, the table is not present in its page. >>> anon_browser.open('http://launchpad.dev/~jdub') >>> print find_tag_by_id(anon_browser.contents, 'contributions') None The same for teams. >>> anon_browser.open('http://launchpad.dev/~ubuntu-team') >>> print find_tag_by_id(anon_browser.contents, 'contributions') None Unactivated profiles -------------------- Many profiles are created for users who contributed to projects that were imported into Launchpad. Any user can see an unclaimed profile and a link to request a claim the profile. >>> anon_browser.open('https://launchpad.dev/~jvprat') >>> print anon_browser.title Jordi Vilalta does not use Launchpad >>> print extract_text(find_main_content(anon_browser.contents)) Jordi Vilalta does not use Launchpad. This page was created on ... when importing the Catalan (ca) translation of pmount in Ubuntu Hoary... >>> anon_browser.getLink('Are you Jordi Vilalta') It is possible for the preferred email address to be set if it is associated with an Ubuntu Single Signon account. Anonymous and logged in users cannot see this, but admins like Foo Bar can. >>> from zope.component import getUtility >>> from canonical.launchpad.interfaces.emailaddress import ( ... EmailAddressStatus, IEmailAddressSet) >>> login('admin@canonical.com') >>> address = getUtility(IEmailAddressSet).getByEmail('jvprat@wanadoo.es') >>> address.status = EmailAddressStatus.PREFERRED >>> transaction.commit() >>> logout() >>> anon_browser.open('https://launchpad.dev/~jvprat') >>> print find_tag_by_id(anon_browser.contents, 'email-addresses') None >>> user_browser.open('https://launchpad.dev/~jvprat') >>> print find_tag_by_id(user_browser.contents, 'email-addresses') None >>> admin_browser.open('https://launchpad.dev/~jvprat') >>> print extract_text( ... find_tag_by_id(admin_browser.contents, 'email-addresses')) jvprat@wanadoo.es Change e-mail settings