Trying to use Launchpad.login_with() on python3, after fixing the earlier bug yields this issue:
Traceback (most recent call last):
File "./foo.py", line 31, in <module>
lb = launchpad.projects[project]
File "/usr/lib/python3/dist-packages/lazr/restfulclient/resource.py", line 1001, in __getitem__
shim_resource._ensure_representation()
File "/usr/lib/python3/dist-packages/lazr/restfulclient/resource.py", line 382, in _ensure_representation
representation = self._root._browser.get(self._wadl_resource)
File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 436, in get
response, content = self._request(url, extra_headers=headers)
File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 387, in _request
str(url), method=method, body=data, headers=headers)
File "/usr/lib/python3/dist-packages/lazr/restfulclient/_browser.py", line 357, in _request_and_retry
url, method=method, body=body, headers=headers)
File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 1291, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 132, in _request
return self.retry_on_bad_token(response, content, *args)
File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 144, in retry_on_bad_token
self.launchpad.credentials, self.launchpad.credential_store)
File "/usr/lib/python3/dist-packages/launchpadlib/credentials.py", line 545, in __call__
self.make_end_user_authorize_token(credentials, request_token_string)
File "/usr/lib/python3/dist-packages/launchpadlib/credentials.py", line 658, in make_end_user_authorize_token
self.web_root)
File "/usr/lib/python3/dist-packages/launchpadlib/credentials.py", line 233, in exchange_request_token_for_access_token
self.access_token = AccessToken.from_string(content)
File "/usr/lib/python3/dist-packages/launchpadlib/credentials.py", line 251, in from_string
key = params['oauth_token']
KeyError: 'oauth_token'
The problem is that params has b'oauth_token', not 'oauth_token', which matters on python3
Trying to use Launchpad. login_with( ) on python3, after fixing the earlier bug yields this issue:
Traceback (most recent call last): projects[ project] python3/ dist-packages/ lazr/restfulcli ent/resource. py", line 1001, in __getitem__ resource. _ensure_ representation( ) python3/ dist-packages/ lazr/restfulcli ent/resource. py", line 382, in _ensure_ representation _browser. get(self. _wadl_resource) python3/ dist-packages/ lazr/restfulcli ent/_browser. py", line 436, in get headers) python3/ dist-packages/ lazr/restfulcli ent/_browser. py", line 387, in _request python3/ dist-packages/ lazr/restfulcli ent/_browser. py", line 357, in _request_and_retry python3/ dist-packages/ httplib2/ __init_ _.py", line 1291, in request python3/ dist-packages/ launchpadlib/ launchpad. py", line 132, in _request on_bad_ token(response, content, *args) python3/ dist-packages/ launchpadlib/ launchpad. py", line 144, in retry_on_bad_token launchpad. credentials, self.launchpad. credential_ store) python3/ dist-packages/ launchpadlib/ credentials. py", line 545, in __call__ make_end_ user_authorize_ token(credentia ls, request_ token_string) python3/ dist-packages/ launchpadlib/ credentials. py", line 658, in make_end_ user_authorize_ token python3/ dist-packages/ launchpadlib/ credentials. py", line 233, in exchange_ request_ token_for_ access_ token access_ token = AccessToken. from_string( content) python3/ dist-packages/ launchpadlib/ credentials. py", line 251, in from_string 'oauth_ token']
File "./foo.py", line 31, in <module>
lb = launchpad.
File "/usr/lib/
shim_
File "/usr/lib/
representation = self._root.
File "/usr/lib/
response, content = self._request(url, extra_headers=
File "/usr/lib/
str(url), method=method, body=data, headers=headers)
File "/usr/lib/
url, method=method, body=body, headers=headers)
File "/usr/lib/
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/lib/
return self.retry_
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
self.web_root)
File "/usr/lib/
self.
File "/usr/lib/
key = params[
KeyError: 'oauth_token'
The problem is that params has b'oauth_token', not 'oauth_token', which matters on python3