diff frontends/src/jp/cmd_debug.py @ 2441:e86dc8cb4345

jp (debug/monitor): if data can't be parsed (happen at beginning/end of stream because it's not complete XML), it is printed directly.
author Goffi <goffi@goffi.org>
date Sun, 19 Nov 2017 16:38:35 +0100
parents 192ae573901a
children 0046283a285d
line wrap: on
line diff
--- a/frontends/src/jp/cmd_debug.py	Sat Nov 18 18:49:57 2017 +0100
+++ b/frontends/src/jp/cmd_debug.py	Sun Nov 19 16:38:35 2017 +0100
@@ -138,7 +138,16 @@
         if whiteping:
             self.disp('[WHITESPACE PING]')
         else:
-            self.output(xml_data)
+            try:
+                self.output(xml_data)
+            except Exception:
+                # initial stream is not valid XML,
+                # in this case we print directly to data
+                # FIXME: we should test directly lxml.etree.XMLSyntaxError
+                #        but importing lxml directly here is not clean
+                #        should be wrapped in a custom Exception
+                self.disp(xml_data)
+                self.disp(u'')
 
     def start(self):
         self.host.bridge.register_signal('xmlLog', self.printXML, 'plugin')