From d24155766df48b1517eb6a3e419b02fd1f5e0719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85ke=20Forslund?= Date: Fri, 9 Jul 2021 16:47:30 +0200 Subject: [PATCH] Add docstrings to InterceptAllBusClient --- .../voight_kampff/features/environment.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/integrationtests/voight_kampff/features/environment.py b/test/integrationtests/voight_kampff/features/environment.py index 74afb2f47e0..a7554ec6ff9 100644 --- a/test/integrationtests/voight_kampff/features/environment.py +++ b/test/integrationtests/voight_kampff/features/environment.py @@ -38,6 +38,10 @@ def create_voight_kampff_logger(): class InterceptAllBusClient(MessageBusClient): + """Bus Client storing all messages recieved. + + This allows readback of older messages and non-event-driven operation. + """ def __init__(self): super().__init__() self.messages = [] @@ -46,12 +50,23 @@ def __init__(self): self._processed_messages = 0 def on_message(self, message): + """Extends normal operation by storing the recieved message. + + Args: + message (Message): message from the Mycroft bus + """ with self.message_lock: self.messages.append(Message.deserialize(message)) self.new_message_available.set() super().on_message(message) def get_messages(self, msg_type): + """Get messages from received list of messages. + + Args: + msg_type (None,str): string filter for messagetype to extract. + if None all messages will be returned. + """ with self.message_lock: self._processed_messages = len(self.messages) if msg_type is None: @@ -60,6 +75,11 @@ def get_messages(self, msg_type): return [m for m in self.messages if m.msg_type == msg_type] def remove_message(self, msg): + """Remove a specific message from the list of messages. + + Args: + msg (Message): message to remove from the list + """ with self.message_lock: if msg not in self.messages: raise ValueError(f'{msg} was not found in ' @@ -71,11 +91,13 @@ def remove_message(self, msg): self.messages.remove(msg) def clear_messages(self): + """Clear all messages that has been fetched atleast once.""" with self.message_lock: self.messages = self.messages[:self._processed_messages] self._processed_messages = 0 def clear_all_messages(self): + """Clear all messages.""" with self.message_lock: self.messages = [] self._processed_messages = 0