gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r22635 - gnunet-planetlab/gplmt


From: gnunet
Subject: [GNUnet-SVN] r22635 - gnunet-planetlab/gplmt
Date: Fri, 13 Jul 2012 17:35:41 +0200

Author: wachs
Date: 2012-07-13 17:35:41 +0200 (Fri, 13 Jul 2012)
New Revision: 22635

Modified:
   gnunet-planetlab/gplmt/Tasks.py
Log:
- changes

Modified: gnunet-planetlab/gplmt/Tasks.py
===================================================================
--- gnunet-planetlab/gplmt/Tasks.py     2012-07-13 15:28:44 UTC (rev 22634)
+++ gnunet-planetlab/gplmt/Tasks.py     2012-07-13 15:35:41 UTC (rev 22635)
@@ -41,15 +41,18 @@
         self.expected_return_code = 0
         self.expected_output = ""
         self.stop_on_fail = False
-        self.next = None
+        self.set = None
     def log (self):
         glogger.log ("Task " + str(self.id) + ": " + self.name)
     def check (self):
         if ((self.id == -1) or (self.name == "") or (self.type == 
Operation.none)):
             return False
-        
 
+class Taskset:
+    def __init__(self):
+        self.set = list()
 
+
 def handle_task (elem):
     t = Task ()
     for child in elem:
@@ -86,34 +89,51 @@
     #for child in task:        
     #        handle_child (child)
 
-def handle_sequence (elem, list):
-    print "sequence"
+def handle_sequence (elem, l):
     for child in elem:
-            handle_child (child, list)
+            handle_child (child, l)
             
-def handle_parallel (elem, list):
-    print "parallel " + str(len(elem))
+def handle_parallel (elem, l):
+    glogger.log ("Found parallel execution with " + str(len(elem)) + " 
elements")
+
+    ptask = Taskset ()
+    for child in elem:
+        if (elem.tag == "task"):
+            t = handle_task (elem)
+            if (None != t):
+                ptask.set.append(t)
+                print "Added " + t.name + " to set"
+        elif (elem.tag == "parallel"):
+            print "x"
+        #    handle_parallel (elem, l)
+        elif (elem.tag == "sequence"):
+            print "x"
+        #        handle_sequence (elem, l)
+        else:
+            print "Invalid element in task file: " + elem.tag
+    l.append (ptask)            
     
-    #for child in elem:
-    #        handle_child (child)
-    
-def handle_child (elem, list):
+def handle_child (elem, l):
     if (elem.tag == "task"):
         t = handle_task (elem)
         if (None != t):
-            list.append(t)
+            l.append(t)
     elif (elem.tag == "parallel"):
-        handle_parallel (elem, list)
+        handle_parallel (elem, l)
     elif (elem.tag == "sequence"):
-        handle_sequence (elem, list)
+        handle_sequence (elem, l)
     else:
         print "Invalid element in task file: " + elem.tag
 
-def print_sequence (list):
-    print "|",
-    for i in list:
+def print_sequence (l):
+    for i in l:
         print "->",
-        print i.name,
+        if (i.__class__.__name__ == "Task"):
+            print i.name,
+        elif (i.__class__.__name__ == "Taskset"):
+            print "{",
+            print_sequence (i.set)
+            print "}",
 
     
 
@@ -124,7 +144,7 @@
         glogger = logger
         self.logger = logger
         self.filename = filename
-        self.list = list ()
+        self.l = list ()
     def load (self):        
         self.logger.log ("Loading nodes file '" + self.filename + "'")
         try:
@@ -132,8 +152,6 @@
         except IOError:
             print "File " + self.filename + " not found"
             return False
-        print " root"
         for child in root:
-            handle_child (child, self.list)
-        print "Result"
-        print_sequence (self.list)
+            handle_child (child, self.l)
+        print_sequence (self.l)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]