moved merge_rspec() from rspec.py to rspecHelper.py
authorTony Mack <tmack@cs.princeton.edu>
Tue, 3 Aug 2010 19:18:39 +0000 (19:18 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Tue, 3 Aug 2010 19:18:39 +0000 (19:18 +0000)
sfa/managers/slice_manager_pl.py
sfa/util/rspec.py
sfa/util/rspecHelper.py

index d141539..05c490f 100644 (file)
@@ -9,7 +9,7 @@ from copy import deepcopy
 from lxml import etree
 from StringIO import StringIO
 from types import StringTypes
-from sfa.util.rspec import merge_rspecs
+from sfa.util.rspecHelper import merge_rspecs
 from sfa.util.namespace import *
 from sfa.util.rspec import *
 from sfa.util.specdict import *
index c56d382..eedc7f5 100644 (file)
@@ -10,35 +10,6 @@ from types import StringTypes, ListType
 from lxml import etree
 from StringIO import StringIO
 
-def merge_rspecs(rspecs):
-    """
-    Merge merge a set of RSpecs into 1 RSpec, and return the result.
-    rspecs must be a valid RSpec string or list of rspec strings. 
-    """
-    if not rspecs or not isinstance(rspecs, list):
-        return rspecs
-    
-    rspec = None
-    for tmp_rspec in rspecs:
-        try:
-            tree = etree.parse(StringIO(tmp_rspec))
-        except etree.XMLSyntaxError:
-            # consider failing silently here
-            message = str(agg_rspec) + ": " + str(sys.exc_info()[1])
-            raise InvalidRSpec(message)
-
-        root = tree.getroot()
-        if root.get("type") in ["SFA"]:
-            if rspec == None:
-                rspec = root
-            else:
-                for network in root.iterfind("./network"):
-                    rspec.append(deepcopy(network))
-                for request in root.iterfind("./request"):
-                    rspec.append(deepcopy(request))    
-    return etree.tostring(rspec, xml_declaration=True, pretty_print=True)
-        
-
 
 class RSpec:
 
index 613e5ae..0db7f8e 100755 (executable)
@@ -5,6 +5,35 @@ from lxml import etree
 from StringIO import StringIO
 from optparse import OptionParser
 
+
+def merge_rspecs(rspecs):
+    """
+    Merge merge a list of RSpecs into 1 RSpec, and return the result.
+    rspecs must be a valid RSpec string or list of RSpec strings.
+    """
+    if not rspecs or not isinstance(rspecs, list):
+        return rspecs
+
+    rspec = None
+    for tmp_rspec in rspecs:
+        try:
+            tree = etree.parse(StringIO(tmp_rspec))
+        except etree.XMLSyntaxError:
+            # consider failing silently here
+            message = str(agg_rspec) + ": " + str(sys.exc_info()[1])
+            raise InvalidRSpec(message)
+
+        root = tree.getroot()
+        if root.get("type") in ["SFA"]:
+            if rspec == None:
+                rspec = root
+            else:
+                for network in root.iterfind("./network"):
+                    rspec.append(deepcopy(network))
+                for request in root.iterfind("./request"):
+                    rspec.append(deepcopy(request))
+    return etree.tostring(rspec, xml_declaration=True, pretty_print=True)
+
 class RSpec:
     def __init__(self, xml):
         parser = etree.XMLParser(remove_blank_text=True)