update client scripts to suppot rspec interface changes
[sfa.git] / sfa / client / sfiDeleteSliver.py
index c8e769a..5b4f70b 100755 (executable)
@@ -1,7 +1,8 @@
 #! /usr/bin/env python
 
 import sys
-from sfa.util.rspecHelper import RSpec, Commands
+from sfa.client.sfi_commands import Commands
+from sfa.rspecs.rspec_parser import parse_rspec
 
 command = Commands(usage="%prog [options] node1 node2...",
                    description="Delete slivers from the RSpec. " +
@@ -10,13 +11,21 @@ command = Commands(usage="%prog [options] node1 node2...",
 command.add_nodefile_option()
 command.prep()
 
-for node in command.nodes:
+if command.opts.infile:
+    rspec = parse_rspec(command.opts.infile)
+    nodes = []
+    if command.opts.nodefile:
+        f = open(command.opts.nodefile, "r")
+        nodes = f.read().split()
+        f.close()
+       
     try:
-        command.rspec.remove_sliver(node)
+        slivers = [{'hostname': node} for node in nodes]
+        rspec.remove_slivers(slivers)
     except:
-        print >> sys.stderr, "FAILED: %s" % node
+        print >> sys.stderr, "FAILED: %s" % node
 
-print command.rspec
+    print rspec.toxml()