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)

Reply via email to