- # find record info
- table = GeniTable()
- records = table.findObjects({'hrn': hrn, 'type': 'slice', 'peer_authority': None})
- if not records:
- raise RecordNotFound(hrn)
- record = records[0]
- auth_hrn = record['authority']
- auth_info = self.api.auth.get_auth_info(auth_hrn)
- object_gid = record.get_gid_object()
- new_ticket = SfaTicket(subject = object_gid.get_subject())
- new_ticket.set_gid_caller(self.api.auth.client_gid)
- new_ticket.set_gid_object(object_gid)
- new_ticket.set_issuer(key=auth_info.get_pkey_object(), subject=auth_hrn)
- new_ticket.set_pubkey(object_gid.get_pubkey())
-
- # determine aggregate tyep
- sfa_aggregate_type = Config().get_aggregate_rspec_type()
- rspec_manager = __import__("sfa.rspecs.aggregates.rspec_manager_"+sfa_aggregate_type, fromlist = ["sfa.rspecs.aggregates"])
-
- # Fukter the incoming rspec using sfatables