summaryrefslogtreecommitdiff
path: root/addons/website_twitter
diff options
context:
space:
mode:
authorXavier Morel <xmo@odoo.com>2017-12-11 11:48:24 +0100
committerXavier Morel <xmo@odoo.com>2017-12-11 11:51:17 +0100
commit9ad6458241b4ed62a77af44875776a3c2874294a (patch)
tree9911e1223ec80a3a0c460a6be7561098d70748d7 /addons/website_twitter
parentb7ce07ad2ac6075715c2e53358af29be61be71ed (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.py19
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