config: Added another option.

This commit is contained in:
Dylan Araps 2018-04-01 13:10:38 +10:00
parent e5781ed69a
commit fe78d6b1c7
2 changed files with 23 additions and 10 deletions

View File

@ -40,7 +40,8 @@ def get_args(args):
arg.add_argument("--backend", metavar="backend", arg.add_argument("--backend", metavar="backend",
help="Which color backend to use. \ help="Which color backend to use. \
Use 'wal --backend' to list backends.", Use 'wal --backend' to list backends.",
const="list_backends", type=str, nargs="?", default="wal") const="list_backends", type=str,
nargs="?", default="default")
arg.add_argument("--theme", metavar="/path/to/file or theme_name", arg.add_argument("--theme", metavar="/path/to/file or theme_name",
help="Which colorscheme file to use. \ help="Which colorscheme file to use. \

View File

@ -8,7 +8,7 @@ import sys
from . import theme from . import theme
from . import util from . import util
from .settings import CACHE_DIR, MODULE_DIR, __cache_version__ from .settings import CACHE_DIR, MODULE_DIR, CONFIG, __cache_version__
def list_backends(): def list_backends():
@ -81,8 +81,27 @@ def cache_fname(img, backend, light, cache_dir):
return [cache_dir, "schemes", "%s_%s_%s_%s.json" % (*file_parts,)] return [cache_dir, "schemes", "%s_%s_%s_%s.json" % (*file_parts,)]
def get(img, light=False, backend="wal", cache_dir=CACHE_DIR): def get_backend(backend):
"""Figure out which backend to use."""
if CONFIG.get("colors", "backend") and backend == "default":
return CONFIG.get("colors", "backend")
elif backend == "default":
return "wal"
if backend == "random":
backends = list_backends()
random.shuffle(backends)
return backends[0]
return backend
def get(img, light=False, backend="default", cache_dir=CACHE_DIR):
"""Generate a palette.""" """Generate a palette."""
backend = get_backend(backend)
print("wal: Using", backend, "backend.")
# home_dylan_img_jpg_backend_1.2.2.json # home_dylan_img_jpg_backend_1.2.2.json
cache_name = cache_fname(img, backend, light, cache_dir) cache_name = cache_fname(img, backend, light, cache_dir)
cache_file = os.path.join(*cache_name) cache_file = os.path.join(*cache_name)
@ -95,13 +114,6 @@ def get(img, light=False, backend="wal", cache_dir=CACHE_DIR):
else: else:
print("wal: Generating a colorscheme...") print("wal: Generating a colorscheme...")
if backend == "random":
backends = list_backends()
random.shuffle(backends)
backend = backends[0]
print("wal: Using", backend, "backend.")
# Dynamically import the backend we want to use. # Dynamically import the backend we want to use.
# This keeps the dependencies "optional". # This keeps the dependencies "optional".
try: try: