Skip to content

Commit 4f74eba

Browse files
committed
Improve logs when receiving invalid messages
1 parent 2e257a3 commit 4f74eba

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

maxcube/cube.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -114,17 +114,20 @@ def room_by_id(self, id):
114114

115115
def __parse_responses(self, messages):
116116
for msg in messages:
117-
cmd = msg.cmd
118-
if cmd == "C":
119-
self.parse_c_message(msg.arg)
120-
elif cmd == "H":
121-
self.parse_h_message(msg.arg)
122-
elif cmd == "L":
123-
self.parse_l_message(msg.arg)
124-
elif cmd == "M":
125-
self.parse_m_message(msg.arg)
126-
else:
127-
logger.debug("Ignored unsupported message: %s" % (msg))
117+
try:
118+
cmd = msg.cmd
119+
if cmd == "C":
120+
self.parse_c_message(msg.arg)
121+
elif cmd == "H":
122+
self.parse_h_message(msg.arg)
123+
elif cmd == "L":
124+
self.parse_l_message(msg.arg)
125+
elif cmd == "M":
126+
self.parse_m_message(msg.arg)
127+
else:
128+
logger.debug("Ignored unsupported message: %s" % (msg))
129+
except Exception:
130+
logger.warn(f"Error processing response message {msg}", exc_info=True)
128131

129132
def parse_c_message(self, message):
130133
logger.debug("Parsing c_message: " + message)

maxcube/message.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ class Message:
99
def reply_cmd(self) -> str:
1010
return self.cmd.upper()
1111

12+
def __str__(self) -> str:
13+
return f"{self.cmd}:{self.arg}"
14+
1215
def encode(self) -> bytes:
13-
return ("%s:%s\r\n" % (self.cmd, self.arg)).encode("utf-8")
16+
return (f"{self.cmd}:{self.arg}\r\n").encode("utf-8")
1417

1518
@staticmethod
1619
def decode(line: bytes) -> "Message":

tests/test_cube.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ def to_messages(lines):
5252
b"H:JEQ0341267,015d2a,0113,00000000,0336f10a,4b,29,110203,172a,03,0000",
5353
b"M:00,01,VgICAQpCYWRlemltbWVyDi66AgpXb2huemltbWVyAAAAAwEOLrpLRVExMDg2NDM3ClRoZXJtb3N0YXQBAwoIgUtFUTA2NTU3NDMOV2"
5454
b"FuZHRoZXJtb3N0YXQCBAyisktFUTA4Mzk3NzgORmVuc3RlcmtvbnRha3QBAQ==",
55+
b"M:INVALID_M_MESSAGE",
56+
b"ZZ:INVALID_MESSAGE_TYPE",
5557
b"C:015d2a,7QFdKgATAf9KRVEwMzQxMjY3AQsABEAAAAAAAAAAAP///////////////////////////wsABEAAAAAAAAAAQf///////////////"
5658
b"////////////2h0dHA6Ly9tYXguZXEtMy5kZTo4MC9jdWJlADAvbG9va3VwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
5759
b"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENFVAAACgADAAAOEENFU1QAAwACAAAcIA==",

0 commit comments

Comments
 (0)