2to3 -f has_key
[sfa.git] / sfa / methods / Describe.py
index 546be22..69d4fb7 100644 (file)
@@ -20,13 +20,14 @@ class Describe(Method):
     """
     interfaces = ['aggregate', 'slicemgr']
     accepts = [
+        Parameter(type([str]), "List of URNs"),
         Mixed(Parameter(str, "Credential string"), 
               Parameter(type([str]), "List of credentials")),
         Parameter(dict, "Options")
         ]
     returns = Parameter(str, "List of resources")
 
-    def call(self, creds, options):
+    def call(self, urns, creds, options):
         self.api.logger.info("interface: %s\tmethod-name: %s" % (self.api.interface, self.name))
        
         # client must specify a version
@@ -35,14 +36,15 @@ class Describe(Method):
                 options['geni_rspec_version'] = options['rspec_version']
             else:
                 raise SfaInvalidArgument('Must specify an rspec version option. geni_rspec_version cannot be null')
-        # Find the valid credentials
-        valid_creds = self.api.auth.checkCredentials(creds, 'listnodes')
+        valid_creds  = self.api.auth.checkCredentialsSpeaksFor(
+            creds, 'listnodes', urns, 
+            check_sliver_callback = self.api.driver.check_sliver_credentials,
+            options=options)
 
         # get hrn of the original caller 
         origin_hrn = options.get('origin_hrn', None)
         if not origin_hrn:
-            origin_hrn = Credential(string=valid_creds[0]).get_gid_caller().get_hrn()
+            origin_hrn = Credential(cred=valid_creds[0]).get_gid_caller().get_hrn()
         desc = self.api.manager.Describe(self.api, creds, urns, options)
 
         # filter rspec through sfatables 
@@ -53,7 +55,7 @@ class Describe(Method):
         self.api.logger.debug("ListResources: sfatables on chain %s"%chain_name)
         desc['geni_rspec'] = run_sfatables(chain_name, '', origin_hrn, desc['geni_rspec']) 
  
-        if options.has_key('geni_compressed') and options['geni_compressed'] == True:
+        if 'geni_compressed' in options and options['geni_compressed'] == True:
             desc['geni_rspec'] = zlib.compress(desc['geni_rspec']).encode('base64')
 
         return desc