git://git.onelab.eu
/
sfa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2766cff
)
added hostname agrument to get_node_elements()
author
Tony Mack
<tmack@paris.CS.Princeton.EDU>
Thu, 30 Jun 2011 04:55:05 +0000
(
00:55
-0400)
committer
Tony Mack
<tmack@paris.CS.Princeton.EDU>
Thu, 30 Jun 2011 04:55:05 +0000
(
00:55
-0400)
sfa/rspecs/elements/SFAv1Node.py
patch
|
blob
|
history
diff --git
a/sfa/rspecs/elements/SFAv1Node.py
b/sfa/rspecs/elements/SFAv1Node.py
index
06dcfa7
..
27cb012
100755
(executable)
--- a/
sfa/rspecs/elements/SFAv1Node.py
+++ b/
sfa/rspecs/elements/SFAv1Node.py
@@
-4,15
+4,22
@@
from sfa.rspecs.elements.node import Node
class SFAv1Node(Node):
class SFAv1Node(Node):
- def get_node_elements(self, network=None):
+ def get_node_elements(self, network=None
, hostnames=None
):
if network:
if network:
- nodes = self.root_node.xpath('//network[@name="%s"]//node' % network)
+ query = '//network[@name="%s"]//node' % network
else:
else:
- nodes = self.root_node.xpath('//node')
- return nodes
+ query = '//node'
+
+ if isinstance(hostnames, str):
+ query = query + '/hostname[text() = "%s"]' % hostnames
+ elif isinstance(hostnames, list):
+ query = query + '/hostname[contains( "%s" , text())]' \
+ %(" ".join(hostnames))
+
+ return self.xpath(query)
- def get_nodes(self, network=None):
- node_elems = self.get_node_elements(network)
+ def get_nodes(self, network=None
, hostnames
):
+ node_elems = self.get_node_elements(network
, hostnames
)
nodes = [self.get_attributes(node_elem, recursive=True) \
for node_elem in node_elems]
return nodes
nodes = [self.get_attributes(node_elem, recursive=True) \
for node_elem in node_elems]
return nodes