X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmethods%2Fremove_peer_object.py;h=a5101895275d0b7988d387b2f3a984d0cc551884;hb=57b6a99255d4a88be9c0f910f8524677e34ff4bc;hp=be8f09cdcefd05686b679590093a4d842ae8e8a8;hpb=dc022d6ffb486be4bb274ae4253edf83b05d24bc;p=sfa.git diff --git a/sfa/methods/remove_peer_object.py b/sfa/methods/remove_peer_object.py index be8f09cd..a5101895 100644 --- a/sfa/methods/remove_peer_object.py +++ b/sfa/methods/remove_peer_object.py @@ -1,17 +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 GeniRecord -from sfa.util.genitable import GeniTable -from sfa.util.debug import log +from sfa.util.table import SfaTable from sfa.trust.credential import Credential -from sfa.util.misc import * -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. @@ -39,7 +34,7 @@ class remove_peer_object(Method): #log the call if not origin_hrn: origin_hrn = user_cred.get_gid_caller().get_hrn() - self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, hrn, self.name)) + self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, record['hrn'], self.name)) self.api.auth.check(cred, "remove") @@ -47,13 +42,13 @@ class remove_peer_object(Method): try: self.api.auth.verify_object_permission(record['hrn']) except: self.api.auth.verify_cred_is_me(cred) - table = GeniTable() + table = SfaTable() hrn, type = record['hrn'], record['type'] records = table.find({'hrn': hrn, 'type': type }) for record in records: - if record['peer_authority']: - self.remove_plc_record(record) - table.remove(record) + if record['peer_authority']: + self.remove_plc_record(record) + table.remove(record) return 1 @@ -89,14 +84,14 @@ class remove_peer_object(Method): self.api.plshell.DeleteSite(self.api.plauth, site['site_id']) else: - raise UnknownGeniType(type) + raise UnknownSfaType(type) return 1 def get_peer_name(self, peer_id): peers = self.api.plshell.GetPeers(self.api.plauth, [peer_id], ['peername', 'shortname', 'hrn_root']) if not peers: - raise GeniInvalidArgument, "No such peer" + raise SfaInvalidArgument, "No such peer" peer = peers[0] return peer['shortname']