diff options
Diffstat (limited to 'lib/Param/Color.py')
| -rw-r--r-- | lib/Param/Color.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/Param/Color.py b/lib/Param/Color.py new file mode 100644 index 0000000..9163338 --- /dev/null +++ b/lib/Param/Color.py @@ -0,0 +1,17 @@ +from Param import Param +import re +class ParamColor(Param): + def __init__(self, value, classname=""): + super(ParamColor, 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)) |
