Source code for pydm.utilities.colors

import pickle
import os

current_dir = os.path.dirname(os.path.realpath(__file__))

svg_color_to_hex_map = None
hex_to_svg_color_map = None
with open(os.path.join(current_dir, "hex2color.pkl"), "rb") as f:
    hex_to_svg_color_map = pickle.load(f)
with open(os.path.join(current_dir, "color2hex.pkl"), "rb") as f:
    svg_color_to_hex_map = pickle.load(f)


[docs]def svg_color_from_hex(hex_string, hex_on_fail=False): """ Returns the SVG color based on its HEX equivalent. Parameters ---------- hex_string: str The color code in hex. E.g. #000000 hex_on_fail: bool, Optional Whether or not to return the `hex_string` when an invalid color is submitted. Default is False. Returns ------- str The SVG color string. """ if not hex_on_fail: return hex_to_svg_color_map[str(hex_string).lower()] try: return hex_to_svg_color_map[str(hex_string).lower()] except KeyError: return hex_string
[docs]def hex_from_svg_color(color_string): """ Returns the HEX color based on its SVG equivalent. Parameters ---------- color_string: str The SVG color string. E.g. black Returns ------- str The HEX color string. """ return svg_color_to_hex_map[str(color_string).lower()]
default_colors = [ "white", "red", "dodgerblue", "forestgreen", "yellow", "fuchsia", "turquoise", "deeppink", "lime", "orange", "whitesmoke", "beige", "purple", "teal", "darksalmon", "brown", ]