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:
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
sliver_elem = etree.SubElement(node_elem, 'sliver')
if 'tags' in sliver:
for tag in sliver['tags']:
- etree.SubElement(sliver_elem, tag['name'], value=tag['value']
+ etree.SubElement(sliver_elem, tag['name'], value=tag['value'])
def remove_slivers(self, slivers, network=None, no_dupes=False):
if not isinstance(slivers, list):