diff --git a/compressor/management/commands/compress.py b/compressor/management/commands/compress.py index 59612a7..b293a42 100644 --- a/compressor/management/commands/compress.py +++ b/compressor/management/commands/compress.py @@ -11,12 +11,13 @@ except ImportError: from django.core.management.base import NoArgsCommand, CommandError from django.template import Context, Template, TemplateDoesNotExist, TemplateSyntaxError from django.utils.datastructures import SortedDict +from django.utils.importlib import import_module from compressor.cache import cache, get_offline_cachekey from compressor.conf import settings from compressor.exceptions import OfflineGenerationError from compressor.templatetags.compress import CompressorNode -from compressor.utils import walk, any, import_module +from compressor.utils import walk, any class Command(NoArgsCommand): diff --git a/compressor/utils/__init__.py b/compressor/utils/__init__.py index e81c980..26d22b0 100644 --- a/compressor/utils/__init__.py +++ b/compressor/utils/__init__.py @@ -63,44 +63,6 @@ def walk(root, topdown=True, onerror=None, followlinks=False): for link_dirpath, link_dirnames, link_filenames in walk(p): yield (link_dirpath, link_dirnames, link_filenames) - -# Taken from Django 1.3 and before that from Python 2.7 -# with permission from the original author. -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] - - class AppSettings(object): """ An app setting object to be used for handling app setting defaults