diff options
| author | Dylan Araps <dylan.araps@gmail.com> | 2017-06-17 11:23:19 +1000 |
|---|---|---|
| committer | Dylan Araps <dylan.araps@gmail.com> | 2017-06-17 11:23:19 +1000 |
| commit | 23e01e5e8aa2fc8eaaa3ec2fce221a88d7bffd44 (patch) | |
| tree | b8035700fb412dbf518753014508d032c385fb1e /wal.py | |
| parent | 429e3c9f10d4c4b10802bb16030a955928172e3f (diff) | |
General: Check if scheme exists
Diffstat (limited to 'wal.py')
| -rw-r--r-- | wal.py | 46 |
1 files changed, 28 insertions, 18 deletions
@@ -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 |
