Revision: 3993
Author: jussi.ao.malinen
Date: Mon Aug 30 07:07:24 2010
Log: combined Message-classes
http://code.google.com/p/robotframework/source/detail?r=3993
Modified:
/trunk/src/robot/output/loggerhelper.py
/trunk/src/robot/output/readers.py
=======================================
--- /trunk/src/robot/output/loggerhelper.py Mon Aug 30 05:53:20 2010
+++ /trunk/src/robot/output/loggerhelper.py Mon Aug 30 07:07:24 2010
@@ -61,14 +61,18 @@
raise NotImplementedError(self.__class__)
-class Message:
-
- def __init__(self, message, level='INFO', html=False):
- self.timestamp = utils.get_timestamp(daysep='', daytimesep=' ',
- timesep=':', millissep='.')
+class Message(object):
+
+ def __init__(self, message, level='INFO', html=False, timestamp=None,
linkable=False):
+ self.message = self._get_message(message)
self.level, self.html = self._get_level_and_html(level, html)
- self.message = self._process_message(message)
- self.linkable = False
+ self.timestamp = self._get_timestamp(timestamp)
+ self.linkable = linkable
+
+ def _get_message(self, msg):
+ if not isinstance(msg, basestring):
+ msg = utils.unic(msg)
+ return msg.replace('\r\n', '\n')
def _get_level_and_html(self, level, html):
level = level.upper()
@@ -78,10 +82,11 @@
raise DataError("Invalid log level '%s'" % level)
return level, html
- def _process_message(self, msg):
- if not isinstance(msg, basestring):
- msg = utils.unic(msg)
- return msg.replace('\r\n', '\n')
+ def _get_timestamp(self, timestamp):
+ if timestamp:
+ return timestamp
+ return utils.get_timestamp(daysep='', daytimesep=' ',
+ timesep=':', millissep='.')
class IsLogged:
=======================================
--- /trunk/src/robot/output/readers.py Mon Aug 30 05:53:20 2010
+++ /trunk/src/robot/output/readers.py Mon Aug 30 07:07:24 2010
@@ -19,7 +19,7 @@
from robot.errors import DataError, XmlParsingError
from robot.common import BaseTestSuite, BaseTestCase, BaseKeyword
from robot.output import LOGGER
-from robot.output.loggerhelper import IsLogged
+from robot.output.loggerhelper import IsLogged, Message
def process_outputs(paths, settings):
@@ -150,7 +150,7 @@
self.keywords.append(kw)
self.children.append(kw)
elif child.name == 'msg' and
log_filter(child.get_attr('level', 'INFO')):
- msg = Message(child)
+ msg = MessageFromXml(child)
self.messages.append(msg)
self.children.append(msg)
@@ -290,14 +290,14 @@
serializer.end_keyword(self)
-class Message:
+class MessageFromXml(Message):
def __init__(self, node):
- self.timestamp = node.get_attr('timestamp', 'N/A')
- self.level = node.get_attr('level', 'INFO')
- self.message = node.text
- self.html = node.get_attr('html', 'no') == 'yes'
- self.linkable = node.get_attr('linkable', 'no') == 'yes'
+ Message.__init__(self, node.text,
+ level=node.get_attr('level', 'INFO'),
+ html=node.get_attr('html', 'no') == 'yes',
+ timestamp=node.get_attr('timestamp', 'N/A'),
+ linkable=node.get_attr('linkable', 'no') == 'yes')
def serialize(self, serializer):
serializer.message(self)
@@ -317,7 +317,7 @@
if node is None:
self.messages = []
else:
- self.messages = [ Message(msg) for msg in
node.get_nodes('msg') ]
+ self.messages = [MessageFromXml(msg) for msg in
node.get_nodes('msg')]
def serialize(self, serializer):
serializer.start_errors(self)