diff --git a/pywal/colors.py b/pywal/colors.py index a507b41..41b2a44 100644 --- a/pywal/colors.py +++ b/pywal/colors.py @@ -117,10 +117,10 @@ def get(img, light=False, backend="default", cache_dir=CACHE_DIR): # Dynamically import the backend we want to use. # This keeps the dependencies "optional". try: - __import__("pywal.backends.%s" % backend) + util.variable_import("pywal.backends.%s" % backend) except ImportError: + util.variable_import("pywal.backends.wal") backend = "wal" - __import__("pywal.backends.%s" % backend) logging.info("Using %s backend.", backend) backend = sys.modules["pywal.backends.%s" % backend] diff --git a/pywal/util.py b/pywal/util.py index 0c678c9..e245404 100644 --- a/pywal/util.py +++ b/pywal/util.py @@ -92,6 +92,11 @@ def create_dir(directory): os.makedirs(directory, exist_ok=True) +def variable_import(module): + """Import a module dynamically.""" + __import__(module) + + def setup_logging(): """Logging config.""" logging.basicConfig(format=("[%(levelname)s\033[0m] "