blob: 1c62955118ff72c5566acecb9ea956d134bad81a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
"""Defines the color param type"""
from param import Param
import re
class Color(Param):
"""Defines the color param type
Args:
value: the value of the color (string)
classname: the name of the class to which the param belongs
"""
def __init__(self, value, classname=""):
super(Color, self).__init__(classname=classname)
try:
self.value = self._color_sanitize(value)
except Exception as e:
self.err_warn("Unable to sanitize the color: %s" % str(value))
self.err_warn(str(e))
def _color_sanitize(self, s):
if s == "":
return "transparent"
if re.match('(rgba?\([0-9]+,[0-9]+,[0-9]+\))|([a-zA-Z]+)|(\#[A-Ha-h0-9]+)', s):
return s.replace(' ', '')
else:
self.err_warn("Not a color: {}\n".format(s))
|