Add error handling
This commit is contained in:
parent
4bed261a3e
commit
52f6b14838
2 changed files with 76 additions and 3 deletions
|
|
@ -189,10 +189,15 @@ class Connection():
|
||||||
else:
|
else:
|
||||||
data = None
|
data = None
|
||||||
|
|
||||||
self._callbacks.call(packet["type"], data)
|
if "error" in packet:
|
||||||
|
error = packet["error"]
|
||||||
|
else:
|
||||||
|
error = None
|
||||||
|
|
||||||
|
self._callbacks.call(packet["type"], data, error)
|
||||||
|
|
||||||
if "id" in packet:
|
if "id" in packet:
|
||||||
self._id_callbacks.call(packet["id"], data)
|
self._id_callbacks.call(packet["id"], data, error)
|
||||||
self._id_callbacks.remove(packet["id"])
|
self._id_callbacks.remove(packet["id"])
|
||||||
|
|
||||||
def _send_json(self, data):
|
def _send_json(self, data):
|
||||||
|
|
|
||||||
|
|
@ -347,10 +347,12 @@ class Room():
|
||||||
|
|
||||||
self._callbacks.call("stop")
|
self._callbacks.call("stop")
|
||||||
|
|
||||||
def _handle_bounce_event(self, data):
|
def _handle_bounce_event(self, data, error):
|
||||||
"""
|
"""
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
if error:
|
||||||
|
self.stop()
|
||||||
|
|
||||||
if self.password is not None:
|
if self.password is not None:
|
||||||
self.authenticate(self.password)
|
self.authenticate(self.password)
|
||||||
|
|
@ -369,6 +371,11 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "hello-event", error)
|
||||||
|
self.stop()
|
||||||
|
return
|
||||||
|
|
||||||
self.session = session.Session.from_data(data["session"])
|
self.session = session.Session.from_data(data["session"])
|
||||||
self._sessions.add(self.session)
|
self._sessions.add(self.session)
|
||||||
self._callbacks.call("identity")
|
self._callbacks.call("identity")
|
||||||
|
|
@ -382,6 +389,11 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "join-event", error)
|
||||||
|
self.update_sessions()
|
||||||
|
return
|
||||||
|
|
||||||
ses = session.Session.from_data(data)
|
ses = session.Session.from_data(data)
|
||||||
self._sessions.add(ses)
|
self._sessions.add(ses)
|
||||||
self._callbacks.call("join", ses)
|
self._callbacks.call("join", ses)
|
||||||
|
|
@ -392,6 +404,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "network-event", error)
|
||||||
|
return
|
||||||
|
|
||||||
if data["type"] == "partition":
|
if data["type"] == "partition":
|
||||||
self._sessions.remove_on_network_partition(data["server_id"], data["server_era"])
|
self._sessions.remove_on_network_partition(data["server_id"], data["server_era"])
|
||||||
self._callbacks.call("sessions")
|
self._callbacks.call("sessions")
|
||||||
|
|
@ -401,6 +417,11 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "nick-event", error)
|
||||||
|
self.update_sessions()
|
||||||
|
return
|
||||||
|
|
||||||
ses = self.get_session(data["session_id"])
|
ses = self.get_session(data["session_id"])
|
||||||
if ses:
|
if ses:
|
||||||
ses.name = data["to"]
|
ses.name = data["to"]
|
||||||
|
|
@ -412,6 +433,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "edit-message-event", error)
|
||||||
|
return
|
||||||
|
|
||||||
msg = message.Message.from_data(data)
|
msg = message.Message.from_data(data)
|
||||||
if msg:
|
if msg:
|
||||||
self._messages.add(msg)
|
self._messages.add(msg)
|
||||||
|
|
@ -428,6 +453,11 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "part-event", error)
|
||||||
|
self.update_sessions()
|
||||||
|
return
|
||||||
|
|
||||||
ses = session.Session.from_data(data)
|
ses = session.Session.from_data(data)
|
||||||
if ses:
|
if ses:
|
||||||
self._sessions.remove(ses.session_id)
|
self._sessions.remove(ses.session_id)
|
||||||
|
|
@ -440,6 +470,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "ping-event", error)
|
||||||
|
return
|
||||||
|
|
||||||
self.ping_last = data["time"]
|
self.ping_last = data["time"]
|
||||||
self.ping_next = data["next"]
|
self.ping_next = data["next"]
|
||||||
self.ping_offset = self.ping_last - time.time()
|
self.ping_offset = self.ping_last - time.time()
|
||||||
|
|
@ -452,6 +486,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "send-event", error)
|
||||||
|
return
|
||||||
|
|
||||||
msg = message.Message.from_data(data)
|
msg = message.Message.from_data(data)
|
||||||
self._callbacks.call("message", msg)
|
self._callbacks.call("message", msg)
|
||||||
|
|
||||||
|
|
@ -463,6 +501,11 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "snapshot-event", error)
|
||||||
|
self.stop()
|
||||||
|
return
|
||||||
|
|
||||||
self.set_nick(self.nick)
|
self.set_nick(self.nick)
|
||||||
|
|
||||||
if "pm_with_nick" in data or "pm_with_user_id" in data:
|
if "pm_with_nick" in data or "pm_with_user_id" in data:
|
||||||
|
|
@ -489,6 +532,11 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "auth-reply", error)
|
||||||
|
self.stop()
|
||||||
|
return
|
||||||
|
|
||||||
if not data["success"]:
|
if not data["success"]:
|
||||||
self._con.stop()
|
self._con.stop()
|
||||||
|
|
||||||
|
|
@ -497,6 +545,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "get-message-reply", error)
|
||||||
|
return
|
||||||
|
|
||||||
self._messages.add_from_data(data)
|
self._messages.add_from_data(data)
|
||||||
self._callbacks.call("messages")
|
self._callbacks.call("messages")
|
||||||
|
|
||||||
|
|
@ -505,6 +557,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "log-reply", error)
|
||||||
|
return
|
||||||
|
|
||||||
for msgdata in data["log"]:
|
for msgdata in data["log"]:
|
||||||
self._messages.add_from_data(msgdata)
|
self._messages.add_from_data(msgdata)
|
||||||
self._callbacks.call("messages")
|
self._callbacks.call("messages")
|
||||||
|
|
@ -514,6 +570,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "nick-reply", error)
|
||||||
|
return
|
||||||
|
|
||||||
if "to" in data:
|
if "to" in data:
|
||||||
self.session.name = self.nick
|
self.session.name = self.nick
|
||||||
self._callbacks.call("identity")
|
self._callbacks.call("identity")
|
||||||
|
|
@ -528,6 +588,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "send-reply", error)
|
||||||
|
return
|
||||||
|
|
||||||
self._messages.add_from_data(data)
|
self._messages.add_from_data(data)
|
||||||
self._callbacks.call("messages")
|
self._callbacks.call("messages")
|
||||||
|
|
||||||
|
|
@ -536,6 +600,10 @@ class Room():
|
||||||
TODO
|
TODO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if error:
|
||||||
|
self._callbacks.call("error", "who-reply", error)
|
||||||
|
return
|
||||||
|
|
||||||
self._sessions.remove_all()
|
self._sessions.remove_all()
|
||||||
for sesdata in data["listing"]:
|
for sesdata in data["listing"]:
|
||||||
self._sessions.add_from_data(sesdata)
|
self._sessions.add_from_data(sesdata)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue