diff options
| author | Xavier Morel <xmo@odoo.com> | 2017-12-11 11:48:24 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@odoo.com> | 2017-12-11 11:51:17 +0100 |
| commit | 9ad6458241b4ed62a77af44875776a3c2874294a (patch) | |
| tree | 9911e1223ec80a3a0c460a6be7561098d70748d7 /addons/website_twitter | |
| parent | b7ce07ad2ac6075715c2e53358af29be61be71ed (diff) | |
[FIX] website_twitter: finish P3 migration
I clearly missed some bits in 01e35141479b8dfc4a390518f89fc52e7cec5396
as _get_access_token was still using urllib.Request despite that
import having been removed.
Fix it up by properly converting it to requests.
Fixes #21544
Diffstat (limited to 'addons/website_twitter')
| -rw-r--r-- | addons/website_twitter/models/website_twitter.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/addons/website_twitter/models/website_twitter.py b/addons/website_twitter/models/website_twitter.py index 49c8b52c337..966f7ab6249 100644 --- a/addons/website_twitter/models/website_twitter.py +++ b/addons/website_twitter/models/website_twitter.py @@ -1,12 +1,10 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import base64 import json import logging import requests -import werkzeug from odoo import api, fields, models API_ENDPOINT = 'https://api.twitter.com' @@ -80,14 +78,13 @@ class WebsiteTwitter(models.Model): def _get_access_token(self, website): """Obtain a bearer token.""" - bearer_token_cred = '%s:%s' % (website.twitter_api_key, website.twitter_api_secret) - encoded_cred = base64.b64encode(bearer_token_cred) - request = Request(REQUEST_TOKEN_URL) - request.add_header('Content-Type', - 'application/x-www-form-urlencoded;charset=UTF-8') - request.add_header('Authorization', - 'Basic %s' % encoded_cred) - request.add_data('grant_type=client_credentials') - data = json.load(urlopen(request, timeout=URLOPEN_TIMEOUT)) + r = requests.post( + REQUEST_TOKEN_URL, + data={'grant_type': 'client_credentials',}, + auth=(website.twitter_api_key, website.twitter_api_secret), + timeout=URLOPEN_TIMEOUT, + ) + r.raise_for_status() + data = r.json() access_token = data['access_token'] return access_token |
