From cb27b1250965123b44be0df74398739d03b79981 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Mon, 19 Jun 2017 14:09:09 +1000 Subject: Optimization: Optimize for loop. --- wal.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/wal.py b/wal.py index c85032f..fcb21a0 100644 --- a/wal.py +++ b/wal.py @@ -142,38 +142,29 @@ def magic(color_count, img): """Call Imagemagick to generate a scheme.""" colors = Popen(["convert", img, "+dither", "-colors", str(color_count), "-unique-colors", "txt:-"], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) + stdout=subprocess.PIPE) - return colors.stdout + return colors.stdout.readlines() def gen_colors(img): """Generate a color palette using imagemagick.""" - colors = [] - # Generate initial scheme. - magic_output = magic(COLOR_COUNT, img).readlines() + magic_output = magic(COLOR_COUNT, img) # If imagemagick finds less than 16 colors, use a larger source number # of colors. index = 0 while len(magic_output) - 1 <= 15: index += 1 - magic_output = magic(COLOR_COUNT + index, img).readlines() + magic_output = magic(COLOR_COUNT + index, img) print("colors: Imagemagick couldn't generate a", COLOR_COUNT, "color palette, trying a larger palette size", COLOR_COUNT + index) # Create a list of hex colors. - search = re.search - append = colors.append - for color in magic_output: - hex_color = search('#.{6}', str(color)) - - if hex_color: - append(hex_color.group(0)) + colors = [re.search('#.{6}', str(col)).group(0) for col in magic_output] # Remove the first element, which isn't a color. del colors[0] -- cgit v1.2.3