From e2ef655b4f4c9fb20f0c802aa7ed7ea300d79b22 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Wed, 11 May 2011 16:01:17 -0400 Subject: [PATCH] add_nodes() tries to add location details --- sfa/rspecs/sfa_rspec.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/sfa/rspecs/sfa_rspec.py b/sfa/rspecs/sfa_rspec.py index 50d42bd8..ea4544ed 100755 --- a/sfa/rspecs/sfa_rspec.py +++ b/sfa/rspecs/sfa_rspec.py @@ -31,8 +31,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 +197,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 -- 2.43.0