diff options
author | Lance Stout <lancestout@gmail.com> | 2012-02-19 20:27:19 -0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2012-02-19 20:27:19 -0800 |
commit | c36073b40e2caef337511fa3a4e386dce5449bd2 (patch) | |
tree | b8a8373fda58dbeea29e3d3d357e839b77e26efd /sleekxmpp | |
parent | afe0d16797db0d895c8779d378cb9ca1a6a7f39c (diff) | |
download | slixmpp-c36073b40e2caef337511fa3a4e386dce5449bd2.tar.gz slixmpp-c36073b40e2caef337511fa3a4e386dce5449bd2.tar.bz2 slixmpp-c36073b40e2caef337511fa3a4e386dce5449bd2.tar.xz slixmpp-c36073b40e2caef337511fa3a4e386dce5449bd2.zip |
xml.etree.ElementTree raises ExpatError instead of SyntaxError or ParseError.
Diffstat (limited to 'sleekxmpp')
-rw-r--r-- | sleekxmpp/test/sleektest.py | 6 | ||||
-rw-r--r-- | sleekxmpp/xmlstream/xmlstream.py | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/sleekxmpp/test/sleektest.py b/sleekxmpp/test/sleektest.py index dd3df29a..364e5939 100644 --- a/sleekxmpp/test/sleektest.py +++ b/sleekxmpp/test/sleektest.py @@ -7,6 +7,7 @@ """ import unittest +from xml.parsers.expat import ExpatError try: import Queue as queue except: @@ -62,8 +63,9 @@ class SleekTest(unittest.TestCase): try: xml = ET.fromstring(xml_string) return xml - except SyntaxError as e: - if 'unbound' in e.msg: + except (SyntaxError, ExpatError) as e: + msg = e.msg if hasattr(e, 'msg') else e.message + if 'unbound' in msg: known_prefixes = { 'stream': 'http://etherx.jabber.org/streams'} diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py index f626eb00..4c4b1ebb 100644 --- a/sleekxmpp/xmlstream/xmlstream.py +++ b/sleekxmpp/xmlstream/xmlstream.py @@ -31,6 +31,8 @@ try: except ImportError: import Queue as queue +from xml.parsers.expat import ExpatError + import sleekxmpp from sleekxmpp.thirdparty.statemachine import StateMachine from sleekxmpp.xmlstream import Scheduler, tostring @@ -1241,7 +1243,7 @@ class XMLStream(object): except SystemExit: log.debug("SystemExit in _process") shutdown = True - except SyntaxError as e: + except (SyntaxError, ExpatError) as e: log.error("Error reading from XML stream.") self.exception(e) except Socket.error as serr: |