summaryrefslogtreecommitdiff
path: root/slixmpp/xmlstream/tostring.py
diff options
context:
space:
mode:
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2015-02-28 19:08:04 +0100
committerEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2015-03-02 17:10:27 +0100
commit0ef3fa2703933477e7b3579482cb2f90f639d3ca (patch)
tree2dd5f66dce8aa7b5d0f4ed5cbc4c92d23959d1d2 /slixmpp/xmlstream/tostring.py
parent8da269de88b43f1e8464a6bce83b1fca65d406bb (diff)
downloadslixmpp-0ef3fa2703933477e7b3579482cb2f90f639d3ca.tar.gz
slixmpp-0ef3fa2703933477e7b3579482cb2f90f639d3ca.tar.bz2
slixmpp-0ef3fa2703933477e7b3579482cb2f90f639d3ca.tar.xz
slixmpp-0ef3fa2703933477e7b3579482cb2f90f639d3ca.zip
XMLStream: factorize the highlight function so it can be used in tests as well
Diffstat (limited to 'slixmpp/xmlstream/tostring.py')
-rw-r--r--slixmpp/xmlstream/tostring.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/slixmpp/xmlstream/tostring.py b/slixmpp/xmlstream/tostring.py
index 2d99e323..521ee460 100644
--- a/slixmpp/xmlstream/tostring.py
+++ b/slixmpp/xmlstream/tostring.py
@@ -158,3 +158,19 @@ def escape(text, use_cdata=False):
escaped = map(lambda x : "<![CDATA[%s]]>" % x, text.split("]]>"))
return "<![CDATA[]]]><![CDATA[]>]]>".join(escaped)
return text
+
+
+def _get_highlight():
+ try:
+ from pygments import highlight
+ from pygments.lexers import get_lexer_by_name
+ from pygments.formatters import Terminal256Formatter
+
+ LEXER = get_lexer_by_name('xml')
+ FORMATTER = Terminal256Formatter()
+
+ return lambda x: highlight(x, LEXER, FORMATTER)
+ except ImportError:
+ return lambda x: x
+
+highlight = _get_highlight()