Encode more assumptions in event parsing

This commit is contained in:
Mads Marquart
2020-01-21 22:17:01 +01:00
parent 316ffe5a52
commit 6344038bac
3 changed files with 6 additions and 6 deletions

View File

@@ -181,7 +181,7 @@ class ThreadFolder(Event):
def parse_delta(session, data): def parse_delta(session, data):
class_ = data.get("class") class_ = data["class"]
if class_ == "ParticipantsAddedToGroupThread": if class_ == "ParticipantsAddedToGroupThread":
return PeopleAdded._parse(session, data) return PeopleAdded._parse(session, data)
elif class_ == "ParticipantLeftGroupThread": elif class_ == "ParticipantLeftGroupThread":

View File

@@ -279,7 +279,7 @@ class PlanResponded(ThreadEvent):
def parse_delta(session, data): def parse_delta(session, data):
type_ = data.get("type") type_ = data["type"]
if type_ == "change_thread_theme": if type_ == "change_thread_theme":
return ColorSet._parse(session, data) return ColorSet._parse(session, data)
elif type_ == "change_thread_icon": elif type_ == "change_thread_icon":

View File

@@ -74,7 +74,7 @@ class Presence(Event):
def parse_delta(session, data): def parse_delta(session, data):
try: try:
class_ = data.get("class") class_ = data["class"]
if class_ == "ClientPayload": if class_ == "ClientPayload":
yield from _client_payload.parse_client_payloads(session, data) yield from _client_payload.parse_client_payloads(session, data)
elif class_ == "AdminTextMessage": elif class_ == "AdminTextMessage":
@@ -93,8 +93,8 @@ def parse_events(session, topic, data):
# See Mqtt._configure_connect_options for information about these topics # See Mqtt._configure_connect_options for information about these topics
try: try:
if topic == "/t_ms": if topic == "/t_ms":
if "deltas" not in data: # `deltas` will always be available, since we're filtering out the things
return # that don't have it earlier in the MQTT listener
for delta in data["deltas"]: for delta in data["deltas"]:
yield from parse_delta(session, delta) yield from parse_delta(session, delta)
@@ -105,7 +105,7 @@ def parse_events(session, topic, data):
yield Typing._parse_orca(session, data) yield Typing._parse_orca(session, data)
elif topic == "/legacy_web": elif topic == "/legacy_web":
if data.get("type") == "jewel_requests_add": if data["type"] == "jewel_requests_add":
yield FriendRequest._parse(session, data) yield FriendRequest._parse(session, data)
else: else:
yield UnknownEvent(source="/legacy_web", data=data) yield UnknownEvent(source="/legacy_web", data=data)