+ # record current (old) objects
+ def RecordStatus (self):
+ self.old_site_ids = [ s['site_id'] for s in self.api.GetSites({},['site_id']) ]
+ self.old_person_ids = [ s['person_id'] for s in self.api.GetPersons({},['person_id']) ]
+ self.old_key_ids = [ s['key_id'] for s in self.api.GetKeys({},['key_id']) ]
+ self.old_node_ids = [ s['node_id'] for s in self.api.GetNodes({},['node_id']) ]
+ self.old_slice_ids = [ s['slice_id'] for s in self.api.GetSlices({},['slice_id']) ]
+
+ def AddPeer (self):
+ peer_id=self.api.AddPeer (random_peer())
+ peer = GetPeers([peer_id])[0]
+ if self.verbose:
+ print "Added peer",peer_id
+
+ # add new sites (the ones not in self.site_ids) in the peer
+ # cheating a bit
+ for site in self.api.GetSites ({'~site_id':self.old_site_ids}):
+ peer.add_site(site,site['site_id'])
+ for person in self.api.GetPersons ({'~person_id':self.old_person_ids}):
+ peer.add_person(person,person['person_id'])
+ for key in self.api.GetKeys ({'~key_id':self.old_key_ids}):
+ peer.add_key(key,key['key_id'])
+ for node in self.api.GetNodes ({'~node_id':self.old_node_ids}):
+ peer.add_node(node,node['node_id'])
+ for slice in self.api.GetSlices ({'~slice_id':self.old_slice_ids}):
+ peer.add_slice(slice,slice['slice_id'])
+