summaryrefslogtreecommitdiff
path: root/lib/Param/Color.py
blob: 91633384e90e21b7bb9909b8a7c8b321ac2fb7cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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))