Begin experimental use of exceptions.

Provides IqTimeout and IqError which are raised when an Iq response
does not arrive in time, or it arrives with type='error'.
This commit is contained in:
Lance Stout
2011-05-31 12:48:43 -07:00
parent 1469323350
commit 8aa4396e44
6 changed files with 32 additions and 21 deletions

View File

@@ -231,8 +231,8 @@ class ClientXMPP(BaseXMPP):
'subscription': subscription,
'groups': groups}}
response = iq.send(block, timeout, callback)
if response in [False, None] or not isinstance(response, Iq):
return response
if response is None:
return None
return response['type'] == 'result'
def del_roster_item(self, jid):
@@ -265,12 +265,7 @@ class ClientXMPP(BaseXMPP):
iq.enable('roster')
response = iq.send(block, timeout, callback)
if response == False:
self.event('roster_timeout')
if response in [False, None] or not isinstance(response, Iq):
return response
else:
if callback is None:
return self._handle_roster(response, request=True)
def _handle_stream_features(self, features):