Encode more assumptions in event parsing
This commit is contained in:
@@ -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":
|
||||||
|
@@ -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":
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user