From 23e01e5e8aa2fc8eaaa3ec2fce221a88d7bffd44 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sat, 17 Jun 2017 11:23:19 +1000 Subject: General: Check if scheme exists --- wal.py | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/wal.py b/wal.py index 8dc744f..724168f 100644 --- a/wal.py +++ b/wal.py @@ -76,21 +76,10 @@ def get_image(img): return rand_img -def get_colors(img): - """Generate a colorscheme using imagemagick.""" +def gen_colors(img): + """Generate a color palette using imagemagick.""" colors = [] - # Create colorscheme dir. - pathlib.Path(CACHE_DIR + "/schemes").mkdir(parents=True, exist_ok=True) - - # Cache file. - cache_file = CACHE_DIR + "/schemes/" + img.replace('/', '_') - - # Cache the wallpaper name. - wal = open(CACHE_DIR + "/wal", 'w') - wal.write(img + "\n") - wal.close() - # Long-ass imagemagick command. magic = subprocess.Popen(["convert", img, "+dither", "-colors", str(COLOR_COUNT), "-unique-colors", "txt:-"], @@ -107,17 +96,38 @@ def get_colors(img): # Remove the first element, which isn't a color. del colors[0] - # Cache the colorscheme. - scheme = open(cache_file, 'w') - for color in colors: - scheme.write(color + "\n") - scheme.close() + return colors + + +def get_colors(img): + """Generate a colorscheme using imagemagick.""" + # Cache file. + cache_file = Path(CACHE_DIR + "/schemes/" + img.replace('/', '_')) + + if not cache_file.is_file(): + # Cache the wallpaper name. + wal = open(CACHE_DIR + "/wal", 'w') + wal.write(img + "\n") + wal.close() + + # Generate the colors. + colors = gen_colors(img) + + # Cache the colorscheme. + scheme = open(cache_file, 'w') + for color in colors: + scheme.write(color + "\n") + scheme.close() def main(): """Main script function.""" args = get_args() image = str(get_image(args.i)) + + # Create colorscheme dir. + pathlib.Path(CACHE_DIR + "/schemes").mkdir(parents=True, exist_ok=True) + get_colors(image) return 0 -- cgit v1.2.3