diff options
author | Lance Stout <lancestout@gmail.com> | 2011-08-12 16:47:58 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-08-12 16:47:58 -0700 |
commit | 484efff156e344fc3ca1a7377539132b702c0c78 (patch) | |
tree | fa051515b9dc15eb3a5ab1a8e8b9c2e25b920d17 /sleekxmpp/stanza/iq.py | |
parent | 89cffd43f48cfc835b70e137776eb8c2e73a0b67 (diff) | |
parent | 8f1d0e7a79b662e5f2849cea6e73716cc887e226 (diff) | |
download | slixmpp-484efff156e344fc3ca1a7377539132b702c0c78.tar.gz slixmpp-484efff156e344fc3ca1a7377539132b702c0c78.tar.bz2 slixmpp-484efff156e344fc3ca1a7377539132b702c0c78.tar.xz slixmpp-484efff156e344fc3ca1a7377539132b702c0c78.zip |
Merge branch 'develop' into roster
Conflicts:
setup.py
sleekxmpp/clientxmpp.py
Diffstat (limited to 'sleekxmpp/stanza/iq.py')
-rw-r--r-- | sleekxmpp/stanza/iq.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sleekxmpp/stanza/iq.py b/sleekxmpp/stanza/iq.py index 4a12a87e..f05dad17 100644 --- a/sleekxmpp/stanza/iq.py +++ b/sleekxmpp/stanza/iq.py @@ -11,6 +11,7 @@ from sleekxmpp.stanza.rootstanza import RootStanza from sleekxmpp.xmlstream import StanzaBase, ET from sleekxmpp.xmlstream.handler import Waiter, Callback from sleekxmpp.xmlstream.matcher import MatcherId +from sleekxmpp.exceptions import IqTimeout, IqError class Iq(RootStanza): @@ -197,7 +198,12 @@ class Iq(RootStanza): waitfor = Waiter('IqWait_%s' % self['id'], MatcherId(self['id'])) self.stream.register_handler(waitfor) StanzaBase.send(self, now=now) - return waitfor.wait(timeout) + result = waitfor.wait(timeout) + if not result: + raise IqTimeout(self) + if result['type'] == 'error': + raise IqError(result) + return result else: return StanzaBase.send(self, now=now) |