From f134bb8ff802fbce52836e74d55365ab9863eb56 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 3 Aug 2010 19:18:39 +0000 Subject: [PATCH] moved merge_rspec() from rspec.py to rspecHelper.py --- sfa/managers/slice_manager_pl.py | 2 +- sfa/util/rspec.py | 29 ----------------------------- sfa/util/rspecHelper.py | 29 +++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/sfa/managers/slice_manager_pl.py b/sfa/managers/slice_manager_pl.py index d1415394..05c490f3 100644 --- a/sfa/managers/slice_manager_pl.py +++ b/sfa/managers/slice_manager_pl.py @@ -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 * diff --git a/sfa/util/rspec.py b/sfa/util/rspec.py index c56d3820..eedc7f5b 100644 --- a/sfa/util/rspec.py +++ b/sfa/util/rspec.py @@ -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: diff --git a/sfa/util/rspecHelper.py b/sfa/util/rspecHelper.py index 613e5aed..0db7f8e5 100755 --- a/sfa/util/rspecHelper.py +++ b/sfa/util/rspecHelper.py @@ -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) -- 2.43.0