Removing hack for python 2.6 support

Python 2.6 support was dropped with the last release, we
no longer need this code.

Change-Id: I2957864a9a4ae81c6cd2042f226140a5f7af5457
This commit is contained in:
David Lyle
2015-04-29 18:33:29 -06:00
committed by David Lyle
parent 829cbee14e
commit ab9678d4b4
2 changed files with 2 additions and 66 deletions

View File

@@ -18,6 +18,7 @@ import logging
import pytz import pytz
from django.conf import settings from django.conf import settings
from django.utils.module_loading import import_string # noqa
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from keystoneclient import exceptions as keystone_exceptions from keystoneclient import exceptions as keystone_exceptions
@@ -47,7 +48,7 @@ class KeystoneBackend(object):
['openstack_auth.plugin.password.PasswordPlugin', ['openstack_auth.plugin.password.PasswordPlugin',
'openstack_auth.plugin.token.TokenPlugin']) 'openstack_auth.plugin.token.TokenPlugin'])
self._auth_plugins = [utils.import_string(p)() for p in plugins] self._auth_plugins = [import_string(p)() for p in plugins]
return self._auth_plugins return self._auth_plugins

View File

@@ -14,9 +14,7 @@
import datetime import datetime
import functools import functools
import logging import logging
import sys
import django
from django.conf import settings from django.conf import settings
from django.contrib import auth from django.contrib import auth
from django.contrib.auth import middleware from django.contrib.auth import middleware
@@ -29,7 +27,6 @@ from keystoneclient.auth import token_endpoint
from keystoneclient import session from keystoneclient import session
from keystoneclient.v2_0 import client as client_v2 from keystoneclient.v2_0 import client as client_v2
from keystoneclient.v3 import client as client_v3 from keystoneclient.v3 import client as client_v3
import six
from six.moves.urllib import parse as urlparse from six.moves.urllib import parse as urlparse
@@ -317,65 +314,3 @@ def get_endpoint_region(endpoint):
Keystone V2 and V3. Keystone V2 and V3.
""" """
return endpoint.get('region_id') or endpoint.get('region') return endpoint.get('region_id') or endpoint.get('region')
if django.VERSION < (1, 7):
try:
from importlib import import_module
except ImportError:
# NOTE(jamielennox): importlib was introduced in python 2.7. This is
# copied from the backported importlib library. See:
# http://svn.python.org/projects/python/trunk/Lib/importlib/__init__.py
def _resolve_name(name, package, level):
"""Return the absolute name of the module to be imported."""
if not hasattr(package, 'rindex'):
raise ValueError("'package' not set to a string")
dot = len(package)
for x in xrange(level, 1, -1):
try:
dot = package.rindex('.', 0, dot)
except ValueError:
raise ValueError("attempted relative import beyond "
"top-level package")
return "%s.%s" % (package[:dot], name)
def import_module(name, package=None):
"""Import a module.
The 'package' argument is required when performing a relative
import. It specifies the package to use as the anchor point from
which to resolve the relative import to an absolute import.
"""
if name.startswith('.'):
if not package:
raise TypeError("relative imports require the "
"'package' argument")
level = 0
for character in name:
if character != '.':
break
level += 1
name = _resolve_name(name[level:], package, level)
__import__(name)
return sys.modules[name]
# NOTE(jamielennox): copied verbatim from django 1.7
def import_string(dotted_path):
try:
module_path, class_name = dotted_path.rsplit('.', 1)
except ValueError:
msg = "%s doesn't look like a module path" % dotted_path
six.reraise(ImportError, ImportError(msg), sys.exc_info()[2])
module = import_module(module_path)
try:
return getattr(module, class_name)
except AttributeError:
msg = 'Module "%s" does not define a "%s" attribute/class' % (
dotted_path, class_name)
six.reraise(ImportError, ImportError(msg), sys.exc_info()[2])
else:
from django.utils.module_loading import import_string # noqa