Source code for robot.model.message

#  Copyright 2008-2015 Nokia Networks
#  Copyright 2016-     Robot Framework Foundation
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  See the License for the specific language governing permissions and
#  limitations under the License.

from robot.utils import html_escape, py3to2

from .body import BodyItem
from .itemlist import ItemList

[docs]@py3to2 class Message(BodyItem): """A message created during the test execution. Can be a log message triggered by a keyword, or a warning or an error that occurred during parsing or test execution. """ type = BodyItem.MESSAGE repr_args = ('message', 'level') __slots__ = ['message', 'level', 'html', 'timestamp'] def __init__(self, message='', level='INFO', html=False, timestamp=None, parent=None): #: The message content as a string. self.message = message #: Severity of the message. Either ``TRACE``, ``DEBUG``, ``INFO``, #: ``WARN``, ``ERROR``, ``FAIL`` or ``SKIP`. The last two are only used #: with keyword failure messages. self.level = level #: ``True`` if the content is in HTML, ``False`` otherwise. self.html = html #: Timestamp in format ``%Y%m%d %H:%M:%S.%f``. self.timestamp = timestamp #: The object this message was triggered by. self.parent = parent @property def html_message(self): """Returns the message content as HTML.""" return self.message if self.html else html_escape(self.message) @property def id(self): if not self.parent: return 'm1' return '%s-m%d' % (, self.parent.messages.index(self) + 1)
[docs] def visit(self, visitor): """:mod:`Visitor interface <robot.model.visitor>` entry-point.""" visitor.visit_message(self)
def __str__(self): return self.message
[docs]class Messages(ItemList): __slots__ = [] def __init__(self, message_class=Message, parent=None, messages=None): ItemList.__init__(self, message_class, {'parent': parent}, messages)