From 6041b0da8317b3c8df2d1551f8282a9e59c336c3 Mon Sep 17 00:00:00 2001
From: David Wolfe
Date: Sat, 8 Feb 2014 18:37:43 -0400
Subject: Color-code SQL query "Timeline" stripes according to stacktrace
---
debug_toolbar/panels/sql/utils.py | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
(limited to 'debug_toolbar/panels/sql/utils.py')
diff --git a/debug_toolbar/panels/sql/utils.py b/debug_toolbar/panels/sql/utils.py
index 3943168..d6f0173 100644
--- a/debug_toolbar/panels/sql/utils.py
+++ b/debug_toolbar/panels/sql/utils.py
@@ -35,3 +35,25 @@ def swap_fields(sql):
r'\1 '
r'FROM')
return re.sub(expr, subs, sql)
+
+
+def contrasting_color_generator():
+ """
+ Generate constrasting colors by varying most significant bit of RGB first,
+ and then vary subsebequent bits systematically.
+ """
+ def rgb_to_hex(rgb):
+ return '#%02x%02x%02x' % tuple(rgb)
+
+ triples = [(1, 0, 0), (0, 1, 0), (0, 0, 1),
+ (1, 1, 0), (0, 1, 1), (1, 0, 1), (1, 1, 1)]
+ n = 128
+ so_far = [[0, 0, 0]]
+ while (1):
+ copy_so_far = list(so_far)
+ for triple in triples:
+ for previous in copy_so_far:
+ rgb = [n * triple[i] + previous[i] for i in range(3)]
+ so_far.append(rgb)
+ yield rgb_to_hex(rgb)
+ n = n / 2
--
cgit v1.2.3