X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmethods%2Fremove_peer_object.py;h=465ed05ac1a9909ebd080323e4a5af5f913c661b;hb=2b3c0c7ebe7c55afb14e3ea3aed10f8b1abe01e7;hp=866122d49301d37bea1a7d5969b6210eaaaa10f4;hpb=0cf0d31c313a366e3f272f830bdb4f2a7308e11f;p=sfa.git diff --git a/sfa/methods/remove_peer_object.py b/sfa/methods/remove_peer_object.py index 866122d4..465ed05a 100644 --- a/sfa/methods/remove_peer_object.py +++ b/sfa/methods/remove_peer_object.py @@ -1,15 +1,12 @@ -from sfa.util.faults import * +from sfa.util.faults import UnknownSfaType, SfaInvalidArgument from sfa.util.method import Method from sfa.util.parameter import Parameter, Mixed -from sfa.trust.auth import Auth -from sfa.util.record import SfaRecord from sfa.util.table import SfaTable from sfa.trust.credential import Credential -from types import StringTypes class remove_peer_object(Method): """ - Remove an peer object from the PLC records of a local aggregate. + Remove a peer object from the PLC records of a local aggregate. This method will be called by registry.remove() while removing a record from the local aggreage's PLCDB and sfa table. This method need not be directly called by end-user. @@ -58,33 +55,33 @@ class remove_peer_object(Method): def remove_plc_record(self, record): type = record['type'] if type == "user": - persons = self.api.plshell.GetPersons(self.api.plauth, {'person_id' : record['pointer']}) + persons = self.api.driver.GetPersons({'person_id' : record['pointer']}) if not persons: return 1 person = persons[0] if person['peer_id']: peer = self.get_peer_name(person['peer_id']) - self.api.plshell.UnBindObjectFromPeer(self.api.plauth, 'person', person['person_id'], peer) - self.api.plshell.DeletePerson(self.api.plauth, person['person_id']) + self.api.driver.UnBindObjectFromPeer('person', person['person_id'], peer) + self.api.driver.DeletePerson(person['person_id']) elif type == "slice": - slices=self.api.plshell.GetSlices(self.api.plauth, {'slice_id' : record['pointer']}) + slices=self.api.driver.GetSlices({'slice_id' : record['pointer']}) if not slices: return 1 slice=slices[0] if slice['peer_id']: peer = self.get_peer_name(slice['peer_id']) - self.api.plshell.UnBindObjectFromPeer(self.api.plauth, 'slice', slice['slice_id'], peer) - self.api.plshell.DeleteSlice(self.api.plauth, slice['slice_id']) + self.api.driver.UnBindObjectFromPeer('slice', slice['slice_id'], peer) + self.api.driver.DeleteSlice(slice['slice_id']) elif type == "authority": - sites=self.api.plshell.GetSites(self.api.plauth, {'site_id' : record['pointer']}) + sites=self.api.driver.GetSites({'site_id' : record['pointer']}) if not sites: return 1 site=sites[0] if site['peer_id']: peer = self.get_peer_name(site['peer_id']) - self.api.plshell.UnBindObjectFromPeer(self.api.plauth, 'site', site['site_id'], peer) - self.api.plshell.DeleteSite(self.api.plauth, site['site_id']) + self.api.driver.UnBindObjectFromPeer('site', site['site_id'], peer) + self.api.driver.DeleteSite(site['site_id']) else: raise UnknownSfaType(type) @@ -92,7 +89,7 @@ class remove_peer_object(Method): return 1 def get_peer_name(self, peer_id): - peers = self.api.plshell.GetPeers(self.api.plauth, [peer_id], ['peername', 'shortname', 'hrn_root']) + peers = self.api.driver.GetPeers([peer_id], ['peername', 'shortname', 'hrn_root']) if not peers: raise SfaInvalidArgument, "No such peer" peer = peers[0]