summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Reports/reports/templatetags/syntax_coloring.py
diff options
context:
space:
mode:
authorJoey Hagedorn <hagedorn@mcs.anl.gov>2007-01-03 23:05:04 +0000
committerJoey Hagedorn <hagedorn@mcs.anl.gov>2007-01-03 23:05:04 +0000
commitd3421eb75792b0a77d521c5c5ce14035f6496a5e (patch)
treef0213fcb144168790c542e67ce7ad8c3d58ffada /src/lib/Server/Reports/reports/templatetags/syntax_coloring.py
parent80d3a9d0e9a172cfd40fb4e043901941d3862b88 (diff)
downloadbcfg2-d3421eb75792b0a77d521c5c5ce14035f6496a5e.tar.gz
bcfg2-d3421eb75792b0a77d521c5c5ce14035f6496a5e.tar.bz2
bcfg2-d3421eb75792b0a77d521c5c5ce14035f6496a5e.zip
Added syntax coloring for Diffs! Woo. Requires Pygments be installed:
http://pygments.pocoo.org git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2620 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Reports/reports/templatetags/syntax_coloring.py')
-rw-r--r--src/lib/Server/Reports/reports/templatetags/syntax_coloring.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/Server/Reports/reports/templatetags/syntax_coloring.py b/src/lib/Server/Reports/reports/templatetags/syntax_coloring.py
new file mode 100644
index 000000000..14827b3c6
--- /dev/null
+++ b/src/lib/Server/Reports/reports/templatetags/syntax_coloring.py
@@ -0,0 +1,25 @@
+from django import template
+
+try:
+ from pygments import highlight
+ from pygments.lexers import get_lexer_by_name
+ from pygments.formatters import HtmlFormatter
+ colorize = True
+except:
+ colorize = False
+
+register = template.Library()
+
+def syntaxhilight(value, arg="diff"):
+ '''Returns a syntax-hilighted version of Code; requires code and language arguments'''
+ lexer = get_lexer_by_name(arg)
+ if colorize:
+ try:
+ return highlight(value, lexer, HtmlFormatter())
+ except:
+ return value
+ else:
+ return value
+
+
+register.filter('syntaxhilight', syntaxhilight)