Revision: 2450
Author: janne.t.harkonen
Date: Tue Feb 16 12:03:22 2010
Log: Modified listeners to use dictionary based API for message and log_message
http://code.google.com/p/robotframework/source/detail?r=2450

Modified:
 /trunk/atest/testresources/listeners/JavaListener.class
 /trunk/atest/testresources/listeners/JavaListener.java
 /trunk/atest/testresources/listeners/ListenAll.py
 /trunk/atest/testresources/listeners/module_listener.py

=======================================
--- /trunk/atest/testresources/listeners/JavaListener.class Tue Feb 16 07:50:17 2010 +++ /trunk/atest/testresources/listeners/JavaListener.class Tue Feb 16 12:03:22 2010
@@ -9,9 +9,9 @@
 qr
 stuvwxy
 >gz{|}~
+X†‡ˆ‰Š
 €
 ‚ƒ„
-†‡ˆ‰Š‹QŒŽ
 =‘’“”
 •–
 9j—
@@ -50,9 +50,13 @@
 ¶„§ÿà*´
 ¶±H
!"+#9$K#Q&Z'IJOPG[;,!¶"š4+#¶$œ+*´»Y·%¶,¶&¶+¶'¶¶
+*´»Y·)¶¶¶
¶±H*+:-IJQPGI)+(¶$›"*´»Y·)¶,¶'¶¶
 ¶±H0  1(3IJRLGg,*¹¶
-N-+¶"™%*´»Y·,¶-¶'¶¶
+*´»Y·)¶¶¶
+¶,0¶,›"*´»Y·1¶-¶/¶¶
+¶±O& 7 89%:2;F<a>j?‰APQYSNg,2¹¶
+N-3¶'™%*´»Y·4¶-¶/¶¶
 ¶§2*´»Y·,¶-¶-¶,.¹¶'¶¶
¶±H6 787;f=IJSLGS7*´»Y·/¶,*¹¶-¶,0¹¶'¶¶
 ¶±H
=======================================
--- /trunk/atest/testresources/listeners/JavaListener.java Tue Feb 16 07:50:17 2010 +++ /trunk/atest/testresources/listeners/JavaListener.java Tue Feb 16 12:03:22 2010
@@ -38,14 +38,28 @@
                this.outfile.write("]\n");
        }

-       public void logMessage(String message, String level) throws IOException 
{
-               if (!level.equals("TRACE") && message.indexOf("Traceback") < 0) 
{
-                       this.outfile.write("LOG MESSAGE: [" + level + "] " + message + 
"\n");
+       public void logMessage(Map message) throws IOException {
+               String msg = (String)message.get("message");
+               String level = (String)message.get("level");
+               String html = (String)message.get("html");
+               String timestamp = (String)message.get("timestamp");
+               if (!html.equals("TRUE") && !html.equals("FALSE")) {
+                       this.outfile.write("Log message has invalid `html` 
attribute" + html);
+               }
+               if (!level.equals("TRACE") && msg.indexOf("Traceback") < 0) {
+                       this.outfile.write("LOG MESSAGE: [" + level + "] " + msg + 
"\n");
                }
        }

-       public void message(String message, String level) throws IOException {
-               if (message.indexOf("Settings") >= 0) {
+       public void message(Map message) throws IOException {
+               String msg = (String)message.get("message");
+               String level = (String)message.get("level");
+               String html = (String)message.get("html");
+               String timestamp = (String)message.get("timestamp");
+               if (!html.equals("TRUE") && !html.equals("FALSE")) {
+                       this.outfile.write("Log message has invalid `html` 
attribute" + html);
+               }
+               if (msg.indexOf("Settings") >= 0) {
                        this.outfile.write("Got settings on level: " + level + 
"\n");
                }
        }
=======================================
--- /trunk/atest/testresources/listeners/ListenAll.py Tue Feb 16 07:20:18 2010 +++ /trunk/atest/testresources/listeners/ListenAll.py Tue Feb 16 12:03:22 2010
@@ -1,5 +1,6 @@
 import os
 import tempfile
+import time


 class ListenAll:
@@ -24,14 +25,25 @@
         args = [ str(arg) for arg in attrs['args'] ]
         self.outfile.write("KW START: %s %s\n" % (name, args))

-    def log_message(self, message, level):
-        if level != 'TRACE' and 'Traceback' not in message:
-            self.outfile.write('LOG MESSAGE: [%s] %s\n' % (level, message))
-
-    def message(self, message, level):
-        if 'Settings' in message:
+    def log_message(self, message):
+        msg, level = self._check_message_validity(message)
+        if level != 'TRACE' and 'Traceback' not in msg:
+            self.outfile.write('LOG MESSAGE: [%s] %s\n' % (level, msg))
+
+    def message(self, message):
+        msg, level = self._check_message_validity(message)
+        if 'Settings' in msg:
             self.outfile.write('Got settings on level: %s\n' % level)

+    def _check_message_validity(self, message):
+        if message['html'] not in ['TRUE', 'FALSE']:
+ self.outfile.write('Log message has invalid `html` attribute %s' %
+                               message['html'])
+        if not message['timestamp'].startswith(str(time.localtime()[0])):
+            self.outfile.write('Log message has invalid timestamp %s' %
+                               message['timestamp'])
+        return message['message'], message['level']
+
     def end_keyword(self, name, attrs):
         self.outfile.write("KW END: %s\n" % (attrs['status']))

=======================================
--- /trunk/atest/testresources/listeners/module_listener.py Tue Feb 16 07:20:18 2010 +++ /trunk/atest/testresources/listeners/module_listener.py Tue Feb 16 12:03:22 2010
@@ -17,12 +17,14 @@
     args = [ str(arg) for arg in attrs['args'] ]
     OUTFILE.write("KW START: %s %s\n" % (name, args))

-def log_message(message, level):
-    if level != 'TRACE' and 'Traceback' not in message:
-        OUTFILE.write('LOG MESSAGE: [%s] %s\n' % (level, message))
-
-def message(message, level):
-    if 'Settings' in message:
+def log_message(message):
+    msg, level = message['message'], message['level']
+    if level != 'TRACE' and 'Traceback' not in msg:
+        OUTFILE.write('LOG MESSAGE: [%s] %s\n' % (level, msg))
+
+def message(message):
+    msg, level = message['message'], message['level']
+    if 'Settings' in msg:
         OUTFILE.write('Got settings on level: %s\n' % level)

 def end_keyword(name, attrs):

Reply via email to