Best Python code snippet using avocado_python
messages.py
Source:messages.py  
...160    """Base interface for resolving running messages."""161    _tag = b""162    def __init__(self):163        self.line_buffer = b""164    def _split_complete_lines(self, data):165        """166        It will split data into list of lines.167        If the data don't finish with the new line character, the last line is168        marked as incomplete, and it is saved to the line buffer for next usage.169        When the buffer is not empty the buffer will be added at the beginning170        of data.171        :param data: massage log172        :type data: bytes173        :return: list of lines174        """175        data_lines = data.splitlines(True)176        if len(data_lines) <= 1 and not data.endswith(b"\n"):177            self.line_buffer += data178            return []179        else:180            data_lines[0] = self.line_buffer + data_lines[0]181            self.line_buffer = b""182            if not data.endswith(b"\n"):183                self.line_buffer = data_lines.pop()184            return data_lines185    def _save_to_default_file(self, message, task):186        """187        It will save message log into the default log file.188        The default log file is based on `DEFAULT_LOG_FILE` variable and every189        line of log will be saved with prefix based on `_tag` variable190        :param message: message from runner191        :type message: dict192        :param task: runtime_task which message is related to193        :type task: :class:`avocado.core.nrunner.Task`194        """195        if message.get("encoding"):196            data = message.get("log", b"").splitlines(True)197        else:198            data = self._split_complete_lines(message.get("log", b""))199        if data:200            data = self._tag + self._tag.join(data)201            self._save_message_to_file(202                DEFAULT_LOG_FILE, data, task, message.get("encoding")203            )204    @staticmethod205    def _message_to_line(message, encoding):206        """207        Converts the message to string.208        When the message doesn't end with a new line, the new line is added.209        :param message: message for decoding210        :type message: bytes211        :param encoding: encoding of the message212        :type encoding: str...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
