+
+ # get the list of valid slice users from the registry and make
+ # they are added to the slice
+ slice_records = self.registry.resolve(self.credential, slice_hrn)
+ if not slice_records:
+ raise Error, "record for %s not found" % slice_hrn
+ slice_record = slice_records[0]
+ slice_record_dict = slice_record.as_dict()
+ geni_info = slice_record_dict['geni_info']
+ researchers = geni_info['researcher']
+ for researcher in researchers:
+ person_records = self.registry.resolve(self.credential, researcher)
+ if not person_records:
+ pass
+ person_record = person_records[0]
+ person_dict = person_record.as_dict()['plc_info']
+ persons = self.shell.GetPersons(self.auth, [person_dict['email']], ['person_id', 'key_ids'])
+ if not persons:
+ self.shell.AddPerson(self.auth, person_dict)
+ else:
+ person = persons[0]
+ self.shell.AddPersonToSlice(self.auth, person_dict['email'], login_base)
+ # XX Dont forget to add this person's public keys
+