fix merge problem
authorsmbaker <smbaker@fc8clean.lan>
Mon, 28 Nov 2011 03:06:16 +0000 (19:06 -0800)
committersmbaker <smbaker@fc8clean.lan>
Mon, 28 Nov 2011 03:06:16 +0000 (19:06 -0800)
1  2 
sfa/client/sfi.py

diff --combined sfa/client/sfi.py
index 64bc550,6299ce2..6299ce2
mode 100755,100755..100644
@@@ -4,6 -4,7 +4,7 @@@
  
  import sys
  sys.path.append('.')
  import os, os.path
  import tempfile
  import socket
@@@ -13,21 -14,26 +14,26 @@@ import pickl
  from lxml import etree
  from StringIO import StringIO
  from optparse import OptionParser
- from sfa.client.client_helper import pg_users_arg, sfa_users_arg
- from sfa.util.sfalogging import sfi_logger
  from sfa.trust.certificate import Keypair, Certificate
  from sfa.trust.gid import GID
  from sfa.trust.credential import Credential
  from sfa.trust.sfaticket import SfaTicket
- from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord
- from sfa.rspecs.rspec import RSpec
- from sfa.rspecs.rspec_converter import RSpecConverter
+ from sfa.util.sfalogging import sfi_logger
  from sfa.util.xrn import get_leaf, get_authority, hrn_to_urn
- import sfa.client.xmlrpcprotocol as xmlrpcprotocol
  from sfa.util.config import Config
  from sfa.util.version import version_core
  from sfa.util.cache import Cache
+ from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord
+ from sfa.rspecs.rspec import RSpec
+ from sfa.rspecs.rspec_converter import RSpecConverter
  from sfa.rspecs.version_manager import VersionManager
+ from sfa.client.return_value import ReturnValue
+ import sfa.client.xmlrpcprotocol as xmlrpcprotocol
+ from sfa.client.client_helper import pg_users_arg, sfa_users_arg
  
  AGGREGATE_PORT=12346
  CM_PORT=12346
@@@ -417,15 -423,15 +423,15 @@@ class Sfi
  
          if cache:
              version = cache.get(cache_key)
-             
          if not version: 
-             version = server.GetVersion()
+             result = server.GetVersion()
+             version= ReturnValue.get_value(result)
              # cache version for 24 hours
              cache.add(cache_key, version, ttl= 60*60*24)
              self.logger.info("Updating cache file %s" % cache_file)
              cache.save_to_file(cache_file)
  
          return version   
          
  
                  server=self.registry
              else:
                  server = self.server_proxy_from_opts(opts)
-             version=server.GetVersion()
+             result = server.GetVersion()
+             version = ReturnValue.get_value(result)
          for (k,v) in version.iteritems():
              print "%-20s: %s"%(k,v)
          if opts.file:
          if self.server_supports_options_arg(server):
              options = {'call_id': unique_call_id()}
              call_args.append(options)
-         results = server.ListSlices(*call_args)
-         display_list(results)
+         result = server.ListSlices(*call_args)
+         value = ReturnValue.get_value(result)
+         display_list(value)
          return
      
      # show rspec for named slice
          user_cred = self.get_user_cred().save_to_string(save_parents=True)
          server = self.slicemgr
          server = self.server_proxy_from_opts(opts)
-         options = {}
+    
+         options = {'call_id': unique_call_id()}
+         #panos add info options
+         if opts.info:
+             options['info'] = opts.info
+         
          if args:
              cred = self.get_slice_cred(args[0]).save_to_string(save_parents=True)
              hrn = args[0]
-           options = {'geni_slice_urn': hrn_to_urn(hrn, 'slice')}
+             options['geni_slice_urn'] = hrn_to_urn(hrn, 'slice')
          else:
              cred = user_cred
-             hrn = None
+      
          creds = [cred]
          if opts.delegate:
              delegated_cred = self.delegate_cred(cred, get_authority(self.authority))
                  # this must be a protogeni aggregate. We should request a v2 ad rspec
                  # regardless of what the client user requested 
                  options['rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict()     
-         #panos add info options
-         if opts.info:
-             options['info'] = opts.info 
  
-         call_args = [creds]
-         if self.server_supports_options_arg(server):
-             options = {'call_id': unique_call_id()}
-         call_args.append(options)
+         call_args = [creds, options]
          result = server.ListResources(*call_args)
+         value = ReturnValue.get_value(result)
          if opts.file is None:
-             display_rspec(result, opts.format)
+             display_rspec(value, opts.format)
          else:
-             save_rspec_to_file(result, opts.file)
+             save_rspec_to_file(value, opts.file)
          return
  
      # created named slice with given rspec
              options = {'call_id': unique_call_id()}
              call_args.append(options)
          result = server.CreateSliver(*call_args)
+         value = ReturnValue.get_value(result)
          if opts.file is None:
-             print result
+             print value
          else:
-             save_rspec_to_file (result, opts.file)
-         return result
+             save_rspec_to_file (value, opts.file)
+         return value
  
      # get a ticket for the specified slice
      def get_ticket(self, opts, args):
          if self.server_supports_options_arg(server):
              options = {'call_id': unique_call_id()}
              call_args.append(options)
-         return server.RenewSliver(*call_args)
+         result =  server.RenewSliver(*call_args)
+         value = ReturnValue.get_value(result)
+         return value
  
  
      def status(self, opts, args):
              options = {'call_id': unique_call_id()}
              call_args.append(options)
          result = server.SliverStatus(*call_args)
-         print result
+         value = ReturnValue.get_value(result)
+         print value
          if opts.file:
-             save_variable_to_file(result, opts.file, opts.fileformat)
+             save_variable_to_file(value, opts.file, opts.fileformat)
  
  
      def shutdown(self, opts, args):