Loading wpa_supplicant/client/base.py +22 −21 Original line number Diff line number Diff line Loading @@ -277,24 +277,25 @@ class BaseClient: raise anyio.ClosedResourceError self.logger.debug("Received: %s", repr(msg)) match = self.event_regex.match(msg) # If matched, it is an event if match: prio_, name, msg = match.groups() prio = EventPriority(int(prio_)) # If it's not an event, check whether a reply to a sent message is expected elif self._reply is not _ReplyState.AWAITING: self.logger.warning("Unexpected response message: %s", msg) return else: match self._parse_message(msg): case str(msg): if self._reply is _ReplyState.AWAITING: self._reply = msg return else: self.logger.warning("Unexpected response message: %s", msg) case [prio, name, message] if name is None: # Unnamed events are just for logging if not name: self.logger.log(prio.get_logger_level(), msg) return self._event = (prio, name, msg or None) assert message is not None, "empty log message received" self.logger.log(prio.get_logger_level(), message) case [prio, str(name), message]: self._event = (prio, name, message) case _: # pragma: no-cover raise AssertionError("unexpected return from BaseClient._parse_message()") @classmethod def _parse_message(cls, message: str) -> tuple[EventPriority, str|None, str|None] | str: if not (rematch := cls.event_regex.match(message)): return message prio_, name, msg = rematch.groups() return EventPriority(int(prio_)), name, msg Loading
wpa_supplicant/client/base.py +22 −21 Original line number Diff line number Diff line Loading @@ -277,24 +277,25 @@ class BaseClient: raise anyio.ClosedResourceError self.logger.debug("Received: %s", repr(msg)) match = self.event_regex.match(msg) # If matched, it is an event if match: prio_, name, msg = match.groups() prio = EventPriority(int(prio_)) # If it's not an event, check whether a reply to a sent message is expected elif self._reply is not _ReplyState.AWAITING: self.logger.warning("Unexpected response message: %s", msg) return else: match self._parse_message(msg): case str(msg): if self._reply is _ReplyState.AWAITING: self._reply = msg return else: self.logger.warning("Unexpected response message: %s", msg) case [prio, name, message] if name is None: # Unnamed events are just for logging if not name: self.logger.log(prio.get_logger_level(), msg) return self._event = (prio, name, msg or None) assert message is not None, "empty log message received" self.logger.log(prio.get_logger_level(), message) case [prio, str(name), message]: self._event = (prio, name, message) case _: # pragma: no-cover raise AssertionError("unexpected return from BaseClient._parse_message()") @classmethod def _parse_message(cls, message: str) -> tuple[EventPriority, str|None, str|None] | str: if not (rematch := cls.event_regex.match(message)): return message prio_, name, msg = rematch.groups() return EventPriority(int(prio_)), name, msg