diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2015-05-06 13:03:47 +0200 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2015-05-06 13:03:47 +0200 |
commit | 116a33ba5162b2129dd787478f5ff2dd8f698b45 (patch) | |
tree | 0505cb02f617890a8755e4490e4b9ef5e41f0eb0 /slixmpp/xmlstream/tostring.py | |
parent | b8d7b9520cec828d7b4113e95bbb6e97727a4243 (diff) | |
download | slixmpp-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.py | 9 |
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 |