diff --git a/contrib/message-capture/message-capture-parser.py b/contrib/message-capture/message-capture-parser.py index 33759ee713..b416c11302 100755 --- a/contrib/message-capture/message-capture-parser.py +++ b/contrib/message-capture/message-capture-parser.py @@ -122,8 +122,8 @@ def process_file(path: str, messages: List[Any], recv: bool, progress_bar: Optio msg_ser = BytesIO(f_in.read(length)) # Determine message type - if msgtype not in MESSAGEMAP: - # Unrecognized message type + if msgtype not in MESSAGEMAP or MESSAGEMAP[msgtype] is None: + # Unrecognized or unhandled message type try: msgtype_tmp = msgtype.decode() if not msgtype_tmp.isprintable(): @@ -131,10 +131,11 @@ def process_file(path: str, messages: List[Any], recv: bool, progress_bar: Optio msg_dict["msgtype"] = msgtype_tmp except UnicodeDecodeError: msg_dict["msgtype"] = "UNREADABLE" + err_str = "Unrecognized" if msgtype not in MESSAGEMAP else "Unhandled" msg_dict["body"] = msg_ser.read().hex() - msg_dict["error"] = "Unrecognized message type." + msg_dict["error"] = f"{err_str} message type" messages.append(msg_dict) - print(f"WARNING - Unrecognized message type {msgtype} in {path}", file=sys.stderr) + print(f"WARNING - {msg_dict['error']} {msgtype} in {path}", file=sys.stderr) continue # Deserialize the message