From 949f87447031d8d83b8108aaa11046eb8a50650b Mon Sep 17 00:00:00 2001 From: Lars Kellogg-Stedman Date: Thu, 8 Dec 2016 15:24:24 -0500 Subject: [PATCH] url_helper: fail gracefully if oauthlib is not available We are unable to ship python-oauthlib in RHEL. Allow imports of url_helper to succeed even when oauthlib is unavailable. X-downstream-only: true --- cloudinit/url_helper.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cloudinit/url_helper.py b/cloudinit/url_helper.py index 312b046..19c8148 100644 --- a/cloudinit/url_helper.py +++ b/cloudinit/url_helper.py @@ -17,7 +17,11 @@ import time from email.utils import parsedate from functools import partial -import oauthlib.oauth1 as oauth1 +try: + import oauthlib.oauth1 as oauth1 +except ImportError: + oauth1 = None + from requests import exceptions from six.moves.urllib.parse import ( @@ -481,6 +485,10 @@ class OauthUrlHelper(object): def oauth_headers(url, consumer_key, token_key, token_secret, consumer_secret, timestamp=None): + + if oauth1 is None: + raise NotImplementedError('oauth support is not available') + if timestamp: timestamp = str(timestamp) else: