cleanup for config - again
[sfa.git] / sfa / client / sfi.py
index ffd63b6..fccdd26 100755 (executable)
@@ -1,5 +1,4 @@
 #! /usr/bin/env python
-from __future__ import with_statement
 
 # sfi -- slice-based facility interface
 
@@ -11,11 +10,11 @@ from optparse import OptionParser
 
 from sfa.trust.certificate import Keypair, Certificate
 from sfa.trust.credential import Credential
-from sfa.trust.gid import create_uuid
 
-from sfa.util.geniclient import GeniClient, ServerException
+from sfa.util.geniclient import GeniClient
 from sfa.util.record import *
 from sfa.util.rspec import Rspec
+from sfa.util.xmlrpcprotocol import ServerException
 
 # xxx todo xxx auto-load ~/.sfi/sfi_config
 
@@ -91,8 +90,8 @@ def set_servers(options):
    cert_file = get_cert_file(key_file)
 
    # Establish connection to server(s)
-   slicemgr = GeniClient(sm_url, key_file, cert_file)
-   registry = GeniClient(reg_url, key_file, cert_file)
+   slicemgr = GeniClient(sm_url, key_file, cert_file, options.protocol)
+   registry = GeniClient(reg_url, key_file, cert_file, options.protocol)
    return
 
 #
@@ -340,6 +339,9 @@ def create_parser():
    parser.add_option("-v", "--verbose",
         action="store_true", dest="verbose", default=False,
         help="verbose mode")
+   parser.add_option("-p", "--protocol",
+        dest="protocol", default="xmlrpc",
+        help="RPC protocol (xmlrpc or soap)")
    parser.disable_interspersed_args()
 
    return parser
@@ -586,8 +588,7 @@ def create(opts, args):
    slice_hrn = args[0]
    slice_cred = get_slice_cred(slice_hrn)
    rspec_file = get_rspec_file(args[1])
-   with open(rspec_file) as f:
-      rspec = f.read()
+   rspec=open(rspec_file).read()
    return slicemgr.create_slice(slice_cred, slice_hrn, rspec)
 
 # delete named slice