resolve_raw no longer exists, call resolve directly on genitable. If we are doing...
[sfa.git] / geni / util / api.py
index aec4cfd..b501fd7 100644 (file)
@@ -14,6 +14,7 @@ from geni.util.faults import *
 from geni.util.debug import *
 from geni.util.rights import *
 from geni.util.credential import *
+from geni.util.misc import *
 
 # See "2.2 Characters" in the XML specification:
 #
@@ -120,7 +121,7 @@ class GeniAPI:
     def getPLCShell(self):
         self.plauth = {'Username': self.config.GENI_PLC_USER,
                          'AuthMethod': 'password',
-                         'AuthString': self.config.GENI_PLC_PASSWORD} 
+                         'AuthString': self.config.GENI_PLC_PASSWORD}
         try:
             import PLC.Shell
             shell = PLC.Shell.Shell(globals = globals())
@@ -395,8 +396,15 @@ class GeniAPI:
         # their pointer
         newIdList = []
         for hrn in newList:
-            userRecord = self.resolve_raw("user", hrn)[0]
-            newIdList.append(userRecord.get_pointer())
+            auth_hrn = self.auth.get_authority(hrn)
+            if not auth_hrn:
+                auth_hrn = hrn
+            auth_info = self.auth.get_auth_info(auth_hrn)
+            table = self.auth.get_auth_table(auth_hrn)
+            records = table.resolve('user', hrn)
+            if records:
+                userRecord = records[0]    
+                newIdList.append(userRecord.get_pointer())
 
         # build a list of the old person ids from the person_ids field of the
         # pl_info