'keys':{'int':'key_id'},\
'site':{'str':'login_base','int':'site_id'},\
'node':{'str':'hostname','int':'node_id'},\
- 'slice':{'str':'slice_hrn','int':'record_id_slice'}}
+ 'slice':{'str':'slice_hrn','int':'record_id_slice'},\
+ 'peers':{'str':'hrn'}}
print>>sys.stderr, " \r\n ___ parse_filter param_filter %s type %s return fields %s " %(param_filter,type_of_list, return_fields)
if param_filter is None and return_fields is None:
#rif the item matches the filter, returns it
founditem = []
check = [ True for k in param_filter.keys() if 'id' in k ]
- if check :
- dflt= defaultdict(str,param_filter)
-
- else:
- dflt= defaultdict(str,param_filter)
+ dflt= defaultdict(str,param_filter)
return True
-
+ def GetPeers (self,auth = None, peer_filter=None, return_fields=None):
+ table = SfaTable()
+ return_records = []
+ print>>sys.stderr, " \r\n 1GetPeers "
+ records_list = table.findObjects({'type':'authority+sa'})
+ print>>sys.stderr, " \r\n 2GetPeers peer_filter %s return_fields %s records_list %s "%(peer_filter,return_fields,records_list)
+ if not peer_filter and not return_fields:
+ print>>sys.stderr, " \r\n GetPeers pHEYYYYY "
+ return records_list
+
+ return_records = parse_filter(records_list,peer_filter, 'peers', return_fields)
+
+ return return_records
+
+
def GetPersons(self, person_filter=None, return_fields=None):
# get this site's authority (sfa root authority or sub authority)
site_authority = get_authority(slice_authority).lower()
- print>>sys.stderr, " \r\n \r\n \t slices.py get_peer slice_authority %s site_authority %s" %(slice_authority,site_authority)
+
# check if we are already peered with this site_authority, if so
- #peers = self.api.driver.GetPeers({}, ['peer_id', 'peername', 'shortname', 'hrn_root'])
- #for peer_record in peers:
- #names = [name.lower() for name in peer_record.values() if isinstance(name, StringTypes)]
- #if site_authority in names:
- #peer = peer_record
-
+ peers = self.driver.GetPeers({'hrn':site_authority})
+ print>>sys.stderr, " \r\n \r\n \t slices.py get_peer slice_authority %s site_authority %s" %(slice_authority,site_authority)
+ for peer_record in peers:
+ names = [name.lower() for name in peer_record.values() if isinstance(name, StringTypes)]
+ if site_authority in names:
+ peer = peer_record
+ print>>sys.stderr, " \r\n \r\n \t slices.py get_peer peer %s " %(peer)
return peer
def get_sfa_peer(self, xrn):