def validate(self, value): """Color validator""" is_valid = False if isinstance(value, basestring): if value.startswith("#"): rgb = HTMLColors.get_rgb(value) # will raise if the color is invalid is_valid = True else: # This must be a color name, see if we know about it! is_valid = HTMLColors.htmlcolors.has_key(value.lower()) if not is_valid: raise Exception("%s is not a valid Color" % ( value, )) return super(Color, self).validate(value)
def eval(self, color, percent): color = HTMLColors.get_color_shortest(color.value) return HTMLColors.lighten(color, int(percent.value or 0))
def eval(self, color): return str(HTMLColors.get_lightness_from_color(color.value))
def eval(self, color): return str(HTMLColors.get_saturation_from_color(color.value))
def eval(self, color): return str(HTMLColors.get_hue_from_color(color.value))
def eval(self, h, s, l): h, s, l = [ v.value for v in (h, s, l) ] s, l = [ v / 100.0 for v in (s, l) ] return HTMLColors.get_color_from_hsl(h, s, l)