diff --git a/symposion/boxes/utils.py b/symposion/boxes/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..24b95c69bac9a35cc1be97ba4898bf23c1273818 --- /dev/null +++ b/symposion/boxes/utils.py @@ -0,0 +1,19 @@ +from django.core.exceptions import ImproperlyConfigured +try: + from django.utils.importlib import import_module +except ImportError: + from importlib import import_module + + +def load_path_attr(path): + i = path.rfind(".") + module, attr = path[:i], path[i+1:] + try: + mod = import_module(module) + except ImportError, e: + raise ImproperlyConfigured("Error importing %s: '%s'" % (module, e)) + try: + attr = getattr(mod, attr) + except AttributeError: + raise ImproperlyConfigured("Module '%s' does not define a '%s'" % (module, attr)) + return attr