Merge Master in geni-v3 conflict resolution
[sfa.git] / sfa / server / sfaapi.py
index f24c570..898fb66 100644 (file)
@@ -5,14 +5,13 @@ from sfa.util.faults import SfaFault, SfaAPIError, RecordNotFound
 from sfa.util.genicode import GENICODE
 from sfa.util.config import Config
 from sfa.util.cache import Cache
-from sfa.trust.auth import Auth
 
+from sfa.trust.auth import Auth
 from sfa.trust.certificate import Keypair, Certificate
 from sfa.trust.credential import Credential
 from sfa.trust.rights import determine_rights
-
+from sfa.util.version import version_core
 from sfa.server.xmlrpcapi import XmlrpcApi
-
 from sfa.client.return_value import ReturnValue
 
 
@@ -37,7 +36,7 @@ class SfaApi (XmlrpcApi):
     """
 
     def __init__ (self, encoding="utf-8", methods='sfa.methods', 
-                  config = "/etc/sfa/sfa_config.py", 
+                  config = "/etc/sfa/sfa_config", 
                   peer_cert = None, interface = None, 
                   key_file = None, cert_file = None, cache = None):
         
@@ -129,7 +128,7 @@ class SfaApi (XmlrpcApi):
                 
         delegated_cred = None
         for cred in creds:
-            if hierarchy.auth_exists(Credential(string=cred).get_gid_caller().get_hrn()):
+            if hierarchy.auth_exists(Credential(cred=cred).get_gid_caller().get_hrn()):
                 delegated_cred = cred
                 break
         return delegated_cred
@@ -161,7 +160,7 @@ class SfaApi (XmlrpcApi):
             auth_hrn = hrn
         auth_info = self.auth.get_auth_info(auth_hrn)
         from sfa.storage.alchemy import dbsession
-        from sfa.storage.persistentobjs import RegRecord
+        from sfa.storage.model import RegRecord
         record = dbsession.query(RegRecord).filter_by(type='authority+sa', hrn=hrn).first()
         if not record:
             raise RecordNotFound(hrn)
@@ -212,7 +211,6 @@ class SfaApi (XmlrpcApi):
         code = {
             'geni_code': GENICODE.SUCCESS, 
             'am_type': 'sfa',
-            'am_code': None,
         }
         if isinstance(result, SfaFault):
             code['geni_code'] = result.faultCode
@@ -232,9 +230,10 @@ class SfaApi (XmlrpcApi):
             output = result.faultString 
         return output
 
-    def prepare_response_v2_am(self, result):
+    def prepare_response_am(self, result):
+        version = version_core() 
         response = {
-            'geni_api': 2,             
+            'geni_api': 3,              
             'code': self.get_geni_code(result),
             'value': self.get_geni_value(result),
             'output': self.get_geni_output(result),
@@ -248,6 +247,6 @@ class SfaApi (XmlrpcApi):
         """
         # as of dec 13 2011 we only support API v2
         if self.interface.lower() in ['aggregate', 'slicemgr']: 
-            result = self.prepare_response_v2_am(result)
+            result = self.prepare_response_am(result)
         return XmlrpcApi.prepare_response(self, result, method)