diff --git a/kallithea/lib/helpers.py b/kallithea/lib/helpers.py
--- a/kallithea/lib/helpers.py
+++ b/kallithea/lib/helpers.py
@@ -333,56 +333,56 @@ def pygmentize(filenode, **kwargs):
code_highlight(safe_unicode(filenode.content), lexer, CodeHtmlFormatter(**kwargs))))
+def hsv_to_rgb(h, s, v):
+ if s == 0.0:
+ return v, v, v
+ i = int(h * 6.0) # XXX assume int() truncates!
+ f = (h * 6.0) - i
+ p = v * (1.0 - s)
+ q = v * (1.0 - s * f)
+ t = v * (1.0 - s * (1.0 - f))
+ i = i % 6
+ if i == 0:
+ return v, t, p
+ if i == 1:
+ return q, v, p
+ if i == 2:
+ return p, v, t
+ if i == 3:
+ return p, q, v
+ if i == 4:
+ return t, p, v
+ if i == 5:
+ return v, p, q
+
+
+def gen_color(n=10000):
+ """generator for getting n of evenly distributed colors using
+ hsv color and golden ratio. It always return same order of colors
+
+ :returns: RGB tuple
+ """
+
+ golden_ratio = 0.618033988749895
+ h = 0.22717784590367374
+
+ for _unused in xrange(n):
+ h += golden_ratio
+ h %= 1
+ HSV_tuple = [h, 0.95, 0.95]
+ RGB_tuple = hsv_to_rgb(*HSV_tuple)
+ yield [str(int(x * 256)) for x in RGB_tuple]
+
+
def pygmentize_annotation(repo_name, filenode, **kwargs):
"""
pygmentize function for annotation
:param filenode:
"""
-
+ cgenerator = gen_color()
color_dict = {}
- def gen_color(n=10000):
- """generator for getting n of evenly distributed colors using
- hsv color and golden ratio. It always return same order of colors
-
- :returns: RGB tuple
- """
-
- def hsv_to_rgb(h, s, v):
- if s == 0.0:
- return v, v, v
- i = int(h * 6.0) # XXX assume int() truncates!
- f = (h * 6.0) - i
- p = v * (1.0 - s)
- q = v * (1.0 - s * f)
- t = v * (1.0 - s * (1.0 - f))
- i = i % 6
- if i == 0:
- return v, t, p
- if i == 1:
- return q, v, p
- if i == 2:
- return p, v, t
- if i == 3:
- return p, q, v
- if i == 4:
- return t, p, v
- if i == 5:
- return v, p, q
-
- golden_ratio = 0.618033988749895
- h = 0.22717784590367374
-
- for _unused in xrange(n):
- h += golden_ratio
- h %= 1
- HSV_tuple = [h, 0.95, 0.95]
- RGB_tuple = hsv_to_rgb(*HSV_tuple)
- yield [str(int(x * 256)) for x in RGB_tuple]
-
- cgenerator = gen_color()
-
def get_color_string(cs):
if cs in color_dict:
col = color_dict[cs]
@@ -390,31 +390,28 @@ def pygmentize_annotation(repo_name, fil
col = color_dict[cs] = cgenerator.next()
return "color: rgb(%s)! important;" % (', '.join(col))
- def url_func(repo_name):
-
- def _url_func(changeset):
- author = escape(changeset.author)
- date = changeset.date
- message = escape(changeset.message)
- tooltip_html = ("Author: %s
"
- "Date: %s
"
- "Message: %s") % (author, date, message)
+ def url_func(changeset):
+ author = escape(changeset.author)
+ date = changeset.date
+ message = escape(changeset.message)
+ tooltip_html = ("Author: %s
"
+ "Date: %s
"
+ "Message: %s") % (author, date, message)
- lnk_format = show_id(changeset)
- uri = link_to(
- lnk_format,
- url('changeset_home', repo_name=repo_name,
- revision=changeset.raw_id),
- style=get_color_string(changeset.raw_id),
- **{'data-toggle': 'popover',
- 'data-content': tooltip_html}
- )
+ lnk_format = show_id(changeset)
+ uri = link_to(
+ lnk_format,
+ url('changeset_home', repo_name=repo_name,
+ revision=changeset.raw_id),
+ style=get_color_string(changeset.raw_id),
+ **{'data-toggle': 'popover',
+ 'data-content': tooltip_html}
+ )
- uri += '\n'
- return uri
- return _url_func
+ uri += '\n'
+ return uri
- return literal(markup_whitespace(annotate_highlight(filenode, url_func(repo_name), **kwargs)))
+ return literal(markup_whitespace(annotate_highlight(filenode, url_func, **kwargs)))
class _Message(object):