Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_hexa_to_rgb(self):
self.assertEqual(tkf.hexa_to_rgb("#FFFFFF"), (255, 255, 255))
self.assertEqual(tkf.hexa_to_rgb("#FFFFFFFF"), (255, 255, 255, 255))
self.assertRaises(ValueError, tkf.hexa_to_rgb, "#FFFFF")
def test_hexa_to_rgb(self):
self.assertEqual(tkf.hexa_to_rgb("#FFFFFF"), (255, 255, 255))
self.assertEqual(tkf.hexa_to_rgb("#FFFFFFFF"), (255, 255, 255, 255))
self.assertRaises(ValueError, tkf.hexa_to_rgb, "#FFFFF")
self.title(title)
self.transient(self.master)
self.resizable(False, False)
self.rowconfigure(1, weight=1)
self.color = ""
self.alpha_channel = bool(alpha)
style = ttk.Style(self)
style.map("palette.TFrame", relief=[('focus', 'sunken')],
bordercolor=[('focus', "#4D4D4D")])
self.configure(background=style.lookup("TFrame", "background"))
if isinstance(color, str):
if re.match(r"^#[0-9A-F]{8}$", color.upper()):
col = hexa_to_rgb(color)
self._old_color = col[:3]
if alpha:
self._old_alpha = col[3]
old_color = color
else:
old_color = color[:7]
elif re.match(r"^#[0-9A-F]{6}$", color.upper()):
self._old_color = hexa_to_rgb(color)
old_color = color
if alpha:
self._old_alpha = 255
old_color += 'FF'
else:
col = self.winfo_rgb(color)
self._old_color = tuple(round2(c * 255 / 65535) for c in col)
args = self._old_color
self.square.pack()
frame = ttk.Frame(self)
frame.columnconfigure(1, weight=1)
frame.rowconfigure(1, weight=1)
# --- color preview: initial color and currently selected color side by side
preview_frame = ttk.Frame(frame, relief="groove", borderwidth=2)
preview_frame.grid(row=0, column=0, sticky="nw", pady=2)
if alpha:
self._transparent_bg = create_checkered_image(42, 32)
transparent_bg_old = create_checkered_image(42, 32,
(100, 100, 100, 255),
(154, 154, 154, 255))
prev_old = overlay(transparent_bg_old, hexa_to_rgb(old_color))
prev = overlay(self._transparent_bg, hexa_to_rgb(old_color))
self._im_old_color = ImageTk.PhotoImage(prev_old, master=self)
self._im_color = ImageTk.PhotoImage(prev, master=self)
old_color_prev = tk.Label(preview_frame, padx=0, pady=0,
image=self._im_old_color,
borderwidth=0, highlightthickness=0)
self.color_preview = tk.Label(preview_frame, pady=0, padx=0,
image=self._im_color,
borderwidth=0, highlightthickness=0)
else:
old_color_prev = tk.Label(preview_frame, background=old_color[:7],
width=5, highlightthickness=0, height=2,
padx=0, pady=0)
self.color_preview = tk.Label(preview_frame, width=5, height=2,
pady=0, background=old_color[:7],
padx=0, highlightthickness=0)
old_color_prev.bind("<1>", self._reset_preview)
r, g, b = hexa_to_rgb(color)
self.red.set(r)
self.green.set(g)
self.blue.set(b)
h, s, v = rgb_to_hsv(r, g, b)
self.hue.set(h)
self.saturation.set(s)
self.value.set(v)
self.bar.set(h)
self.square.set_hsv((h, s, v))
if self.alpha_channel:
a = self.alpha.get()
self.hexa.insert('end', ("%2.2x" % a).upper())
self.alphabar.set_color((r, g, b, a))
elif self.alpha_channel and re.match(r"^#[0-9A-F]{8}$", color):
r, g, b, a = hexa_to_rgb(color)
self.red.set(r)
self.green.set(g)
self.blue.set(b)
self.alpha.set(a)
self.alphabar.set_color((r, g, b, a))
h, s, v = rgb_to_hsv(r, g, b)
self.hue.set(h)
self.saturation.set(s)
self.value.set(v)
self.bar.set(h)
self.square.set_hsv((h, s, v))
else:
self._update_color_rgb()
self._update_preview()
def _update_preview(self):
"""Update color preview."""
color = self.hexa.get()
if self.alpha_channel:
prev = overlay(self._transparent_bg, hexa_to_rgb(color))
self._im_color = ImageTk.PhotoImage(prev, master=self)
self.color_preview.configure(image=self._im_color)
else:
self.color_preview.configure(background=color)
style = ttk.Style(self)
style.map("palette.TFrame", relief=[('focus', 'sunken')],
bordercolor=[('focus', "#4D4D4D")])
self.configure(background=style.lookup("TFrame", "background"))
if isinstance(color, str):
if re.match(r"^#[0-9A-F]{8}$", color.upper()):
col = hexa_to_rgb(color)
self._old_color = col[:3]
if alpha:
self._old_alpha = col[3]
old_color = color
else:
old_color = color[:7]
elif re.match(r"^#[0-9A-F]{6}$", color.upper()):
self._old_color = hexa_to_rgb(color)
old_color = color
if alpha:
self._old_alpha = 255
old_color += 'FF'
else:
col = self.winfo_rgb(color)
self._old_color = tuple(round2(c * 255 / 65535) for c in col)
args = self._old_color
if alpha:
self._old_alpha = 255
args = self._old_color + (255,)
old_color = rgb_to_hexa(*args)
else:
self._old_color = color[:3]
if alpha:
if len(color) < 4: