- call GetSlices and GetPersons
authorTony Mack <tmack@cs.princeton.edu>
Tue, 16 Jan 2007 22:50:49 +0000 (22:50 +0000)
committerTony Mack <tmack@cs.princeton.edu>
Tue, 16 Jan 2007 22:50:49 +0000 (22:50 +0000)
PLC/Methods/SliceUsersList.py

index 9100691..2b10a88 100644 (file)
@@ -4,10 +4,12 @@ from PLC.Filter import Filter
 from PLC.Auth import Auth
 from PLC.Slices import Slice, Slices
 from PLC.Persons import Person, Persons
 from PLC.Auth import Auth
 from PLC.Slices import Slice, Slices
 from PLC.Persons import Person, Persons
+from PLC.Methods.GetSlices import GetSlices
+from PLC.Methods.GetPersons import GetPersons
 
 
-class SliceUsersList(Method):
+class SliceUsersList(GetSlices, GetPersons):
     """
     """
-    Deprecated. Can be implemented with GetSlices.
+    Deprecated. Can be implemented with GetSlices and GetPersons.
 
     List users that are members of the named slice.
 
 
     List users that are members of the named slice.
 
@@ -28,29 +30,14 @@ class SliceUsersList(Method):
     
 
     def call(self, auth, slice_name):
     
 
     def call(self, auth, slice_name):
-       # If we are not admin, make sure to return only viewable
-       # slices.
+
        slice_filter = [slice_name]
        slice_filter = [slice_name]
-        slices = Slices(self.api, slice_filter)
+        slices = GetSlices.call(self, auth, slice_filter)
        if not slices:
        if not slices:
-            raise PLCInvalidArgument, "No such slice"
+            return []
        slice = slices[0]
      
        slice = slices[0]
      
-       if 'admin' not in self.caller['roles']:
-            # Get slices that we are able to view
-            valid_slice_ids = self.caller['slice_ids']
-            if 'pi' in self.caller['roles'] and self.caller['site_ids']:
-                sites = Sites(self.api, self.caller['site_ids'])
-                for site in sites:
-                    valid_slice_ids += site['slice_ids']
-
-            if not valid_slice_ids:
-                return []
-
-           if slice['slice_id'] not in valid_slice_ids:
-               return []
-       
-       persons = Persons(self.api, slice['person_ids'])
+       persons = GetPersons.call(self, auth, slice['person_ids'])
        person_names = [person['email'] for person in persons]
 
         return person_names
        person_names = [person['email'] for person in persons]
 
         return person_names