diff --git a/embed_video/backends.py b/embed_video/backends.py index 1b84280..ab838a2 100644 --- a/embed_video/backends.py +++ b/embed_video/backends.py @@ -3,15 +3,14 @@ import re import requests import json -from importlib import import_module if sys.version_info >= (3, ): import urllib.parse as urlparse else: import urlparse -from django.core.exceptions import ImproperlyConfigured +from .utils import import_by_path from .settings import EMBED_VIDEO_BACKENDS @@ -23,45 +22,9 @@ class UnknownIdException(Exception): pass -def import_by_path(dotted_path, error_prefix=''): - """ - Import a dotted module path and return the attribute/class designated by - the last name in the path. Raise ImproperlyConfigured if something goes - wrong. - - .. warning:: - .. deprecated:: Django 1.6 - - Function :py:func:`~django.utils.module_loading.import_by_path`) has - been added in Django 1.6. - """ - try: - module_path, class_name = dotted_path.rsplit('.', 1) - except ValueError: - raise ImproperlyConfigured("%s%s doesn't look like a module path" % ( - error_prefix, dotted_path)) - try: - module = import_module(module_path) - except ImportError as e: - msg = '%sError importing module %s: "%s"' % ( - error_prefix, module_path, e) - raise ImproperlyConfigured(msg) - try: - attr = getattr(module, class_name) - except AttributeError: - raise ImproperlyConfigured('%sModule "%s" does not define a "%s" \ - attribute/class' % - (error_prefix, module_path, class_name)) - return attr - - def detect_backend(url): """ Detect the right backend for given URL. - - .. todo:: - - """ for backend_name in EMBED_VIDEO_BACKENDS: