← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1471927] Re: AccessToken.from_string() crashes on python3

 

This bug was fixed in the package python-launchpadlib -
1.10.3-3ubuntu0.1

---------------
python-launchpadlib (1.10.3-3ubuntu0.1) xenial; urgency=medium

  * Cherrypick python3 crash fixes:
    - _bad_oauth_token (LP: #1471894)
    - AccessToken.from_string() (LP: #1471927)

 -- Dimitri John Ledkov <xnox@xxxxxxxxxx>  Thu, 22 Dec 2016 15:05:54
+0000

** Changed in: python-launchpadlib (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1471927

Title:
  AccessToken.from_string() crashes on python3

Status in launchpadlib :
  Fix Released
Status in python-launchpadlib package in Ubuntu:
  Fix Released
Status in python-launchpadlib source package in Xenial:
  Fix Released

Bug description:
  [Impact]

   * Unable to renew/relogin with a new oauth token, using python3 scripts
   * python2 APIs work (because python2 does not care about str vs bytes)

  [Test Case]

   * Attempt login_with() using python3 and an expired/invalid existing token
   * Relogin should be successful, without crashing scripts

  [Regression Potential]

   * No change in behaviour on python2 (which is what used by reverse dependencies)
   * this is a backport to fix python3 behaviour, for all the newly ported maintainance scripts in python3 that prefer to run on "stable" systems

  [Other Info]
   
   * Well tested in later releases, and with users running from trunk.
   * I believe this still is not published in the cheeseshop.

  [Original bug report]

  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/launchpadlib/+bug/1471927/+subscriptions