General: Check if scheme exists
@@ -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,6 +96,23 @@ def get_colors(img):
# Remove the first element, which isn't a color.
del colors[0]
+ 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:
@@ -118,6 +124,10 @@ 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
