Revision: 18ce7ef73204
Author:   Mikko Korpela <[email protected]>
Date:     Wed Nov 16 01:00:34 2011
Log:      CombiningVisitor namespace cleanup
http://code.google.com/p/robotframework/source/detail?r=18ce7ef73204

Modified:
 /src/robot/result/combiningvisitor.py

=======================================
--- /src/robot/result/combiningvisitor.py       Mon Nov 14 03:22:03 2011
+++ /src/robot/result/combiningvisitor.py       Wed Nov 16 01:00:34 2011
@@ -13,23 +13,23 @@
 #  limitations under the License.
 from robot.result.visitor import ResultVisitor

-
 class CombiningVisitor(ResultVisitor):

     def __init__(self, *visitors):
         self._visitors = visitors
-
-def _create_method(method_name):
-    def delegate_call(self, item):
-        for visitor in self._visitors:
-            getattr(visitor, method_name)(item)
-    setattr(CombiningVisitor, method_name, delegate_call)
-
-for method_name in (pre+'_'+post
-                    for pre in ('start', 'end') \
- for post in ('suite', 'test', 'keyword', 'message', 'errors')):
-    _create_method(method_name)
-_create_method('visit_statistics')
+        for name in dir(self):
+            if name.startswith('start') or name.startswith('end'):
+                self._create_delegating_method(name)
+        self._create_delegating_method('visit_statistics')
+
+    def _create_delegating_method(self, method_name):
+        setattr(self, method_name, self._delegate_call(method_name))
+
+    def _delegate_call(self, method_name):
+        def delegator(item):
+            for visitor in self._visitors:
+                getattr(visitor, method_name)(item)
+        return delegator


 class KeywordRemovingVisitor(ResultVisitor):

Reply via email to