diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2015-02-28 19:08:04 +0100 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2015-03-02 17:10:27 +0100 |
commit | 0ef3fa2703933477e7b3579482cb2f90f639d3ca (patch) | |
tree | 2dd5f66dce8aa7b5d0f4ed5cbc4c92d23959d1d2 /slixmpp/xmlstream/tostring.py | |
parent | 8da269de88b43f1e8464a6bce83b1fca65d406bb (diff) | |
download | slixmpp-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.py | 16 |
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() |