From 0ef3fa2703933477e7b3579482cb2f90f639d3ca Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Sat, 28 Feb 2015 19:08:04 +0100 Subject: XMLStream: factorize the highlight function so it can be used in tests as well --- slixmpp/xmlstream/xmlstream.py | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) (limited to 'slixmpp/xmlstream/xmlstream.py') diff --git a/slixmpp/xmlstream/xmlstream.py b/slixmpp/xmlstream/xmlstream.py index 2b165060..820f5586 100644 --- a/slixmpp/xmlstream/xmlstream.py +++ b/slixmpp/xmlstream/xmlstream.py @@ -22,27 +22,10 @@ import uuid import xml.etree.ElementTree from slixmpp.xmlstream.asyncio import asyncio -from slixmpp.xmlstream import tostring +from slixmpp.xmlstream import tostring, highlight from slixmpp.xmlstream.stanzabase import StanzaBase, ElementBase from slixmpp.xmlstream.resolver import resolve, default_resolver -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() -except ImportError: - def highlight(text, lexer, formatter, outfile=None): - if outfile is not None: - outfile.write(text) - return - return text - - LEXER = None - FORMATTER = None - #: The time in seconds to wait before timing out waiting for response stanzas. RESPONSE_TIMEOUT = 30 @@ -363,7 +346,7 @@ class XMLStream(asyncio.BaseProtocol): log.debug('RECV: %s', highlight(tostring(self.xml_root, xmlns=self.default_ns, stream=self, top_level=True, - open_only=True), LEXER, FORMATTER).strip()) + open_only=True)).strip()) self.start_stream_handler(self.xml_root) self.xml_depth += 1 if event == 'end': @@ -853,7 +836,7 @@ class XMLStream(asyncio.BaseProtocol): :param string data: Any bytes or utf-8 string value. """ - log.debug("SEND: %s", highlight(data, LEXER, FORMATTER).strip()) + log.debug("SEND: %s", highlight(data).strip()) if not self.transport: raise NotConnectedError() if isinstance(data, str): @@ -906,7 +889,7 @@ class XMLStream(asyncio.BaseProtocol): if stanza is None: return - log.debug("RECV: %s", highlight(str(stanza), LEXER, FORMATTER).strip()) + log.debug("RECV: %s", highlight(str(stanza)).strip()) # Match the stanza against registered handlers. Handlers marked # to run "in stream" will be executed immediately; the rest will -- cgit v1.2.3