X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Fsfa_rspec.py;h=e8f608ab2d3d0635558fc724837b281b6320653e;hb=b4d3c48e1f55ef03042a03173dcdf8e9ef425937;hp=50d42bd8ecc39d56bb8bebc5099dcc0be4e1addc;hpb=72c0b40deb3805ea6ecfa1ecedf89a9bf970c125;p=sfa.git diff --git a/sfa/rspecs/sfa_rspec.py b/sfa/rspecs/sfa_rspec.py index 50d42bd8..e8f608ab 100755 --- a/sfa/rspecs/sfa_rspec.py +++ b/sfa/rspecs/sfa_rspec.py @@ -12,6 +12,7 @@ class SfaRSpec(RSpec): header = '\n' namespaces = {} format = 'sfa' + type = 'sfa' ################### # Parser ################### @@ -31,8 +32,11 @@ class SfaRSpec(RSpec): return name.getparent() return None - def get_node_elements(self): - return self.xml.xpath('//node') + def get_node_elements(self, network=None): + if network: + return self.xml.xpath('//network[@name="%s"]//node' % network) + else: + return self.xml.xpath('//node') def get_nodes(self, network=None): if network == None: @@ -194,7 +198,13 @@ class SfaRSpec(RSpec): for tag in node['tags']: # expose this hard wired list of tags, plus the ones that are marked 'sfa' in their category if tag['tagname'] in ['fcdistro', 'arch'] or 'sfa' in tag['category'].split('/'): - tag_element = etree.SubElement(node_tag, tag['tagname'], value=tag['value']) + tag_element = etree.SubElement(node_tag, tag['tagname'], value=tag['value']) + + if 'site' in node: + longitude = str(node['site']['longitude']) + latitude = str(node['site']['latitude']) + location = etree.SubElement(node_tag, 'location', country='unknown', \ + longitude=longitude, latitude=latitude) def add_interfaces(self, interfaces): pass