summaryrefslogtreecommitdiff
path: root/pywal
diff options
context:
space:
mode:
authorAmit Prasad <17amitprasad@gmail.com>2019-12-20 09:44:19 -0500
committerAmit Prasad <17amitprasad@gmail.com>2019-12-20 09:44:19 -0500
commitc29151de464ee9267872c48115fc79bc7a0075b6 (patch)
tree49b8067d596c844299ae7e9285f14389ed8da010 /pywal
parentc0896043aa9b212809048cab2607a0d2f3edf78b (diff)
Beautify
Diffstat (limited to 'pywal')
-rw-r--r--pywal/export.py28
-rw-r--r--pywal/templates/functest1
-rw-r--r--pywal/util.py19
3 files changed, 27 insertions, 21 deletions
diff --git a/pywal/export.py b/pywal/export.py
index f7b9de8..4c0649f 100644
--- a/pywal/export.py
+++ b/pywal/export.py
@@ -19,29 +19,35 @@ def template(colors, input_file, output_file=None):
for match in matches:
# Get the color, and the functions associated with it
color, _, funcs = match.group(2).partition(".")
- #Check that functions are needed for this color
+ # Check that functions are needed for this color
if len(funcs) != 0:
- #Build up a string which will be replaced when the color is done processing
+ # Build up a string which will be replaced when the color is done processing
replace_str = color
- #The modified color
+ # The modified color
new_color = colors[color]
- #Execute each function to be done
- for func in filter(None,funcs.split(")")):
- ### Get function name and arguments
+ # Execute each function to be done
+ for func in filter(None, funcs.split(")")):
+ # Get function name and arguments
func_split = func.split("(")
args = []
- if len(func_split) > 1: args = func_split[1].split(",")
+ if len(func_split) > 1:
+ args = func_split[1].split(",")
fname = func_split[0]
- if fname[0] == '.': fname = fname[1:]
+ if fname[0] == '.':
+ fname = fname[1:]
+ if not hasattr(new_color, fname):
+ logging.error(
+ "Syntax error in template file '%s' on line '%s'", input_file, i)
f = getattr(new_color, fname)
# If the function is callable, call it
if callable(f):
new_color = f(*args)
- #add to the string that will replace the function calls with the generated function.
- if func[0] != '.': replace_str += "."
+ # add to the string that will replace the function calls with the generated function.
+ if func[0] != '.':
+ replace_str += "."
replace_str += func + ")"
- #If the color was changed, replace the template with a unique identifier for the new color.
+ # If the color was changed, replace the template with a unique identifier for the new color.
if not new_color is colors[color]:
cname = "color" + new_color.strip
template_data[i] = line.replace(replace_str, cname)
diff --git a/pywal/templates/functest b/pywal/templates/functest
deleted file mode 100644
index b82d4fc..0000000
--- a/pywal/templates/functest
+++ /dev/null
@@ -1 +0,0 @@
-{color0.lighten(10).darken(10).rgb}
diff --git a/pywal/util.py b/pywal/util.py
index c105a56..74fe1f0 100644
--- a/pywal/util.py
+++ b/pywal/util.py
@@ -36,7 +36,7 @@ class Color:
def rgba(self):
"""Convert a hex color to rgba."""
return "rgba(%s,%s,%s,%s)" % (*hex_to_rgb(self.hex_color),
- int(self.alpha_num)/100)
+ int(self.alpha_num) / 100)
@property
def alpha(self):
@@ -58,17 +58,17 @@ class Color:
"""Strip '#' from color."""
return self.hex_color[1:]
- def lighten(self,percent):
+ def lighten(self, percent):
"""Lighten color by percent"""
- return Color(lighten_color(self.hex_color,float(re.sub(r'[\D\.]','',percent))/100))
+ return Color(lighten_color(self.hex_color, float(re.sub(r'[\D\.]', '', percent)) / 100))
- def darken(self,percent):
+ def darken(self, percent):
"""Darken color by percent"""
- return Color(darken_color(self.hex_color,float(re.sub(r'[\D\.]','',percent))/100))
+ return Color(darken_color(self.hex_color, float(re.sub(r'[\D\.]', '', percent)) / 100))
- def saturate(self,percent):
+ def saturate(self, percent):
"""Saturate a color"""
- return Color(saturate_color(self.hex_color,float(re.sub(r'[\D\.]','',percent))/100))
+ return Color(saturate_color(self.hex_color, float(re.sub(r'[\D\.]', '', percent)) / 100))
def read_file(input_file):
@@ -76,6 +76,7 @@ def read_file(input_file):
with open(input_file, "r") as file:
return file.read().splitlines()
+
def read_file_json(input_file):
"""Read data from a json file."""
with open(input_file, "r") as json_file:
@@ -168,11 +169,11 @@ def blend_color(color, color2):
def saturate_color(color, amount):
"""Saturate a hex color."""
r, g, b = hex_to_rgb(color)
- r, g, b = [x/255.0 for x in (r, g, b)]
+ r, g, b = [x / 255.0 for x in (r, g, b)]
h, l, s = colorsys.rgb_to_hls(r, g, b)
s = amount
r, g, b = colorsys.hls_to_rgb(h, l, s)
- r, g, b = [x*255.0 for x in (r, g, b)]
+ r, g, b = [x * 255.0 for x in (r, g, b)]
return rgb_to_hex((int(r), int(g), int(b)))