summaryrefslogtreecommitdiff
path: root/slixmpp/xmlstream/tostring.py
diff options
context:
space:
mode:
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2015-05-06 13:03:47 +0200
committerEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2015-05-06 13:03:47 +0200
commit116a33ba5162b2129dd787478f5ff2dd8f698b45 (patch)
tree0505cb02f617890a8755e4490e4b9ef5e41f0eb0 /slixmpp/xmlstream/tostring.py
parentb8d7b9520cec828d7b4113e95bbb6e97727a4243 (diff)
downloadslixmpp-116a33ba5162b2129dd787478f5ff2dd8f698b45.tar.gz
slixmpp-116a33ba5162b2129dd787478f5ff2dd8f698b45.tar.bz2
slixmpp-116a33ba5162b2129dd787478f5ff2dd8f698b45.tar.xz
slixmpp-116a33ba5162b2129dd787478f5ff2dd8f698b45.zip
Make syntax highlighting for XML lazy, to only call pygments when debug logs are enabled.
Makes poezio about 11% faster when sending/receiving messages.
Diffstat (limited to 'slixmpp/xmlstream/tostring.py')
-rw-r--r--slixmpp/xmlstream/tostring.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/slixmpp/xmlstream/tostring.py b/slixmpp/xmlstream/tostring.py
index 521ee460..041346cb 100644
--- a/slixmpp/xmlstream/tostring.py
+++ b/slixmpp/xmlstream/tostring.py
@@ -169,7 +169,14 @@ def _get_highlight():
LEXER = get_lexer_by_name('xml')
FORMATTER = Terminal256Formatter()
- return lambda x: highlight(x, LEXER, FORMATTER)
+ class Highlighter:
+ __slots__ = ['string']
+ def __init__(self, string):
+ self.string = string
+ def __str__(self):
+ return highlight(str(self.string).strip(), LEXER, FORMATTER)
+
+ return Highlighter
except ImportError:
return lambda x: x