Merge "Only conditionally import working keyring"

This commit is contained in:
Jenkins
2014-07-21 19:49:42 +00:00
committed by Gerrit Code Review

View File

@@ -20,14 +20,26 @@ OpenStack Client interface. Handles the REST calls and responses.
""" """
import logging import logging
import pkg_resources
from six.moves.urllib import parse as urlparse from six.moves.urllib import parse as urlparse
try: try:
import pickle import pickle
# NOTE(sdague): The conditional keyring import needs to only
# trigger if it's a version of keyring that's supported in global
# requirements. Update _min and _bad when that changes.
keyring_v = pkg_resources.parse_version(
pkg_resources.get_distribution("keyring").version)
keyring_min = pkg_resources.parse_version('2.1')
keyring_bad = (pkg_resources.parse_version('3.3'),)
if keyring_v >= keyring_min and keyring_v not in keyring_bad:
import keyring import keyring
except ImportError: else:
keyring = None
except (ImportError, pkg_resources.DistributionNotFound):
keyring = None keyring = None
pickle = None pickle = None