to get 'roles' from Persons() one must also use 'role_ids' in the return fields
authorMarc Fiuczynski <mef@cs.princeton.edu>
Thu, 16 Jul 2009 20:09:11 +0000 (20:09 +0000)
committerMarc Fiuczynski <mef@cs.princeton.edu>
Thu, 16 Jul 2009 20:09:11 +0000 (20:09 +0000)
PLC/Methods/GetSlivers.py

index ce43f72..b8743cc 100644 (file)
@@ -250,21 +250,9 @@ class v43GetSlivers(Method):
             sites = Sites(self.api, site_filter, site_return_filter)
             site = sites[0]
             person_filter =  {'person_id':site['person_ids'],'enabled':True}
-            person_return_filter = ['person_id', 'enabled', 'key_ids','role_ids'] 
+            person_return_filter = ['person_id', 'enabled', 'key_ids','role_ids','roles'
             site_persons = Persons(self.api, person_filter, person_return_filter)
 
-            # XXX This snippet below maps role names to role_ids,
-            # which is really DUMB.  Why can't one just pass 'roles'
-            # as a return_filter to Persons() above.
-            __roles = {}
-            dbroles = Roles(self.api)
-            for dbrole in dbroles:
-                __roles[dbrole['name']]=dbrole['role_id']
-            __theroles = []
-            for role in theroles:
-                __theroles.append(__roles[role])
-            theroles=__theroles
-
             # collect the keys into a table to weed out duplicates
             site_keys = {}
             for site_person in site_persons: